mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2026-08-17 08:25:14 -06:00
457 lines
14 KiB
Java
457 lines
14 KiB
Java
package rt4;
|
|
|
|
import org.openrs2.deob.annotation.OriginalArg;
|
|
import org.openrs2.deob.annotation.OriginalMember;
|
|
import org.openrs2.deob.annotation.Pc;
|
|
|
|
public final class ArrayUtils {
|
|
|
|
@OriginalMember(owner = "client!kg", name = "a", descriptor = "([JI[JII)V")
|
|
public static void copy(@OriginalArg(0) long[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) long[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) {
|
|
@Pc(15) int local15;
|
|
if (arg0 == arg2) {
|
|
if (arg1 == arg3) {
|
|
return;
|
|
}
|
|
if (arg3 > arg1 && arg3 < arg1 + arg4) {
|
|
local15 = arg4 - 1;
|
|
@Pc(19) int local19 = arg1 + local15;
|
|
@Pc(23) int local23 = arg3 + local15;
|
|
local15 = local19 - local15;
|
|
local15 += 3;
|
|
while (local19 >= local15) {
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
}
|
|
local15 -= 3;
|
|
while (local19 >= local15) {
|
|
arg2[local23--] = arg0[local19--];
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
local15 = arg4 + arg1;
|
|
@Pc(83) int local83 = local15 - 3;
|
|
while (arg1 < local83) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
local15 = local83 + 3;
|
|
while (arg1 < local15) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!kg", name = "a", descriptor = "([II[III)V")
|
|
public static void copy(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) {
|
|
@Pc(15) int local15;
|
|
if (arg0 == arg2) {
|
|
if (arg1 == arg3) {
|
|
return;
|
|
}
|
|
if (arg3 > arg1 && arg3 < arg1 + arg4) {
|
|
local15 = arg4 - 1;
|
|
@Pc(19) int local19 = arg1 + local15;
|
|
@Pc(23) int local23 = arg3 + local15;
|
|
local15 = local19 - local15;
|
|
local15 += 7;
|
|
while (local19 >= local15) {
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
}
|
|
local15 -= 7;
|
|
while (local19 >= local15) {
|
|
arg2[local23--] = arg0[local19--];
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
local15 = arg4 + arg1;
|
|
@Pc(115) int local115 = local15 - 7;
|
|
while (arg1 < local115) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
local15 = local115 + 7;
|
|
while (arg1 < local15) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!kg", name = "a", descriptor = "([IIII)V")
|
|
public static void fill(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) {
|
|
@Pc(5) int local5 = arg1 + arg2 - 7;
|
|
while (arg1 < local5) {
|
|
arg0[arg1++] = arg3;
|
|
arg0[arg1++] = arg3;
|
|
arg0[arg1++] = arg3;
|
|
arg0[arg1++] = arg3;
|
|
arg0[arg1++] = arg3;
|
|
arg0[arg1++] = arg3;
|
|
arg0[arg1++] = arg3;
|
|
arg0[arg1++] = arg3;
|
|
}
|
|
local5 += 7;
|
|
while (arg1 < local5) {
|
|
arg0[arg1++] = arg3;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!kg", name = "a", descriptor = "([FI[FII)V")
|
|
public static void copy(@OriginalArg(0) float[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) float[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) {
|
|
if (arg0 == arg2) {
|
|
return;
|
|
}
|
|
@Pc(114) int local114 = arg4;
|
|
@Pc(115) int local115 = local114 - 7;
|
|
while (arg1 < local115) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
local114 = local115 + 7;
|
|
while (arg1 < local114) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!kg", name = "a", descriptor = "([SI[SII)V")
|
|
public static void copy(@OriginalArg(0) short[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) short[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) {
|
|
@Pc(15) int local15;
|
|
if (arg0 == arg2) {
|
|
if (arg1 == arg3) {
|
|
return;
|
|
}
|
|
if (arg3 > arg1 && arg3 < arg1 + arg4) {
|
|
local15 = arg4 - 1;
|
|
@Pc(19) int local19 = arg1 + local15;
|
|
@Pc(23) int local23 = arg3 + local15;
|
|
local15 = local19 - local15;
|
|
local15 += 7;
|
|
while (local19 >= local15) {
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
}
|
|
local15 -= 7;
|
|
while (local19 >= local15) {
|
|
arg2[local23--] = arg0[local19--];
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
local15 = arg4 + arg1;
|
|
@Pc(115) int local115 = local15 - 7;
|
|
while (arg1 < local115) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
local15 = local115 + 7;
|
|
while (arg1 < local15) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!kg", name = "a", descriptor = "([Ljava/lang/Object;I[Ljava/lang/Object;II)V")
|
|
public static void copy(@OriginalArg(0) Object[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) Object[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) {
|
|
@Pc(15) int local15;
|
|
if (arg0 == arg2) {
|
|
if (arg1 == arg3) {
|
|
return;
|
|
}
|
|
if (arg3 > arg1 && arg3 < arg1 + arg4) {
|
|
local15 = arg4 - 1;
|
|
@Pc(19) int local19 = arg1 + local15;
|
|
@Pc(23) int local23 = arg3 + local15;
|
|
local15 = local19 - local15;
|
|
local15 += 7;
|
|
while (local19 >= local15) {
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
}
|
|
local15 -= 7;
|
|
while (local19 >= local15) {
|
|
arg2[local23--] = arg0[local19--];
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
local15 = arg4 + arg1;
|
|
@Pc(115) int local115 = local15 - 7;
|
|
while (arg1 < local115) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
local15 = local115 + 7;
|
|
while (arg1 < local15) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!kg", name = "a", descriptor = "([III)V")
|
|
public static void clear(@OriginalArg(0) int[] dest, @OriginalArg(1) int off, @OriginalArg(2) int length) {
|
|
@Pc(5) int len = length - 7;
|
|
while (off < len) {
|
|
dest[off++] = 0;
|
|
dest[off++] = 0;
|
|
dest[off++] = 0;
|
|
dest[off++] = 0;
|
|
dest[off++] = 0;
|
|
dest[off++] = 0;
|
|
dest[off++] = 0;
|
|
dest[off++] = 0;
|
|
}
|
|
len += 7;
|
|
while (off < len) {
|
|
dest[off++] = 0;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!nk", name = "a", descriptor = "(Z[J[I)V")
|
|
public static void sort(@OriginalArg(1) long[] arg0, @OriginalArg(2) int[] arg1) {
|
|
sort(arg0, 0, arg0.length - 1, arg1);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!gj", name = "a", descriptor = "([JII[II)V")
|
|
public static void sort(@OriginalArg(0) long[] keys, @OriginalArg(1) int lo, @OriginalArg(2) int hi, @OriginalArg(3) int[] values) {
|
|
if (lo >= hi) {
|
|
return;
|
|
}
|
|
@Pc(20) int i = lo;
|
|
@Pc(26) int mid = (hi + lo) / 2;
|
|
@Pc(30) long pivotKey = keys[mid];
|
|
keys[mid] = keys[hi];
|
|
keys[hi] = pivotKey;
|
|
@Pc(44) int pivotValue = values[mid];
|
|
values[mid] = values[hi];
|
|
values[hi] = pivotValue;
|
|
for (@Pc(56) int j = lo; j < hi; j++) {
|
|
if (keys[j] < pivotKey + (long) (j & 0x1)) {
|
|
@Pc(76) long key = keys[j];
|
|
keys[j] = keys[i];
|
|
keys[i] = key;
|
|
@Pc(90) int value = values[j];
|
|
values[j] = values[i];
|
|
values[i++] = value;
|
|
}
|
|
}
|
|
keys[hi] = keys[i];
|
|
keys[i] = pivotKey;
|
|
values[hi] = values[i];
|
|
values[i] = pivotValue;
|
|
sort(keys, lo, i - 1, values);
|
|
sort(keys, i + 1, hi, values);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!ja", name = "a", descriptor = "([II)[I")
|
|
public static int[] copyOfNullable(@OriginalArg(0) int[] arg0) {
|
|
if (arg0 == null) {
|
|
return null;
|
|
} else {
|
|
@Pc(18) int[] local18 = new int[arg0.length];
|
|
copy(arg0, 0, local18, 0, arg0.length);
|
|
return local18;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!vg", name = "a", descriptor = "(I[S)[S")
|
|
public static short[] copyOfNullable(@OriginalArg(1) short[] arg0) {
|
|
if (arg0 == null) {
|
|
return null;
|
|
} else {
|
|
@Pc(19) short[] local19 = new short[arg0.length];
|
|
copy(arg0, 0, local19, 0, arg0.length);
|
|
return local19;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!td", name = "a", descriptor = "([SI)[S")
|
|
public static short[] copyOf(@OriginalArg(0) short[] arg0, @OriginalArg(1) int arg1) {
|
|
@Pc(2) short[] local2 = new short[arg1];
|
|
copy(arg0, 0, local2, 0, arg1);
|
|
return local2;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!td", name = "a", descriptor = "([FI)[F")
|
|
public static float[] copyOf(@OriginalArg(0) float[] arg0, @OriginalArg(1) int arg1) {
|
|
@Pc(2) float[] local2 = new float[arg1];
|
|
copy(arg0, 0, local2, 0, arg1);
|
|
return local2;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!kd", name = "a", descriptor = "([IIIII)V")
|
|
public static void fillRange(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3) {
|
|
arg1--;
|
|
@Pc(14) int local14 = arg2 - 1;
|
|
@Pc(17) int local17 = local14 - 7;
|
|
while (local17 > arg1) {
|
|
@Pc(22) int local22 = arg1 + 1;
|
|
arg0[local22] = arg3;
|
|
@Pc(27) int local27 = local22 + 1;
|
|
arg0[local27] = arg3;
|
|
@Pc(32) int local32 = local27 + 1;
|
|
arg0[local32] = arg3;
|
|
@Pc(37) int local37 = local32 + 1;
|
|
arg0[local37] = arg3;
|
|
@Pc(42) int local42 = local37 + 1;
|
|
arg0[local42] = arg3;
|
|
@Pc(47) int local47 = local42 + 1;
|
|
arg0[local47] = arg3;
|
|
@Pc(52) int local52 = local47 + 1;
|
|
arg0[local52] = arg3;
|
|
arg1 = local52 + 1;
|
|
arg0[arg1] = arg3;
|
|
}
|
|
while (local14 > arg1) {
|
|
arg1++;
|
|
arg0[arg1] = arg3;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!ec", name = "a", descriptor = "([Ljava/lang/Object;I[III)V")
|
|
public static void sort(@OriginalArg(0) Object[] values, @OriginalArg(1) int hi, @OriginalArg(2) int[] keys, @OriginalArg(4) int lo) {
|
|
if (lo >= hi) {
|
|
return;
|
|
}
|
|
@Pc(11) int mid = (lo + hi) / 2;
|
|
@Pc(15) int pivotKey = keys[mid];
|
|
@Pc(17) int i = lo;
|
|
keys[mid] = keys[hi];
|
|
keys[hi] = pivotKey;
|
|
@Pc(31) Object pivotValue = values[mid];
|
|
values[mid] = values[hi];
|
|
values[hi] = pivotValue;
|
|
for (@Pc(43) int j = lo; j < hi; j++) {
|
|
if ((j & 0x1) + pivotKey > keys[j]) {
|
|
@Pc(67) int key = keys[j];
|
|
keys[j] = keys[i];
|
|
keys[i] = key;
|
|
@Pc(81) Object value = values[j];
|
|
values[j] = values[i];
|
|
values[i++] = value;
|
|
}
|
|
}
|
|
keys[hi] = keys[i];
|
|
keys[i] = pivotKey;
|
|
values[hi] = values[i];
|
|
values[i] = pivotValue;
|
|
sort(values, i - 1, keys, lo);
|
|
sort(values, hi, keys, i + 1);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!oi", name = "a", descriptor = "(I[I[Ljava/lang/Object;)V")
|
|
public static void sort(@OriginalArg(1) int[] arg0, @OriginalArg(2) Object[] arg1) {
|
|
sort(arg1, arg0.length - 1, arg0, 0);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!nj", name = "a", descriptor = "(IIZ[I[I)V")
|
|
public static void sort(@OriginalArg(0) int lo, @OriginalArg(1) int hi, @OriginalArg(3) int[] keys, @OriginalArg(4) int[] values) {
|
|
if (lo >= hi) {
|
|
return;
|
|
}
|
|
@Pc(22) int mid = (hi + lo) / 2;
|
|
@Pc(24) int i = lo;
|
|
@Pc(28) int pivotKey = keys[mid];
|
|
keys[mid] = keys[hi];
|
|
keys[hi] = pivotKey;
|
|
@Pc(42) int pivotValue = values[mid];
|
|
values[mid] = values[hi];
|
|
values[hi] = pivotValue;
|
|
for (@Pc(54) int j = lo; j < hi; j++) {
|
|
if (keys[j] > (j & 0x1) + pivotKey) {
|
|
@Pc(79) int key = keys[j];
|
|
keys[j] = keys[i];
|
|
keys[i] = key;
|
|
@Pc(93) int value = values[j];
|
|
values[j] = values[i];
|
|
values[i++] = value;
|
|
}
|
|
}
|
|
keys[hi] = keys[i];
|
|
keys[i] = pivotKey;
|
|
values[hi] = values[i];
|
|
values[i] = pivotValue;
|
|
sort(lo, i - 1, keys, values);
|
|
sort(i + 1, hi, keys, values);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!sh", name = "a", descriptor = "(I[JII[Ljava/lang/Object;)V")
|
|
public static void sort(@OriginalArg(0) int hi, @OriginalArg(1) long[] keys, @OriginalArg(3) int lo, @OriginalArg(4) Object[] values) {
|
|
if (lo >= hi) {
|
|
return;
|
|
}
|
|
@Pc(16) int i = lo;
|
|
@Pc(23) int mid = (lo + hi) / 2;
|
|
@Pc(27) long pivotKey = keys[mid];
|
|
keys[mid] = keys[hi];
|
|
keys[hi] = pivotKey;
|
|
@Pc(41) Object pivotValue = values[mid];
|
|
values[mid] = values[hi];
|
|
values[hi] = pivotValue;
|
|
for (@Pc(53) int j = lo; j < hi; j++) {
|
|
if (pivotKey + (long) (j & 0x1) > keys[j]) {
|
|
@Pc(72) long key = keys[j];
|
|
keys[j] = keys[i];
|
|
keys[i] = key;
|
|
@Pc(86) Object value = values[j];
|
|
values[j] = values[i];
|
|
values[i++] = value;
|
|
}
|
|
}
|
|
keys[hi] = keys[i];
|
|
keys[i] = pivotKey;
|
|
values[hi] = values[i];
|
|
values[i] = pivotValue;
|
|
sort(i - 1, keys, lo, values);
|
|
sort(hi, keys, i + 1, values);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!ac", name = "a", descriptor = "([J[Ljava/lang/Object;I)V")
|
|
public static void sort(@OriginalArg(0) long[] arg0, @OriginalArg(1) Object[] arg1) {
|
|
sort(arg0.length - 1, arg0, 0, arg1);
|
|
}
|
|
}
|