mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2025-12-20 13:30:30 -07:00
47 lines
1.5 KiB
Java
47 lines
1.5 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!jg")
|
|
public final class IntHashTable {
|
|
|
|
@OriginalMember(owner = "client!jg", name = "f", descriptor = "[I")
|
|
private final int[] anIntArray285;
|
|
|
|
@OriginalMember(owner = "client!jg", name = "<init>", descriptor = "([I)V")
|
|
public IntHashTable(@OriginalArg(0) int[] arg0) {
|
|
@Pc(5) int local5;
|
|
for (local5 = 1; local5 <= (arg0.length >> 1) + arg0.length; local5 <<= 0x1) {
|
|
}
|
|
this.anIntArray285 = new int[local5 + local5];
|
|
@Pc(28) int local28;
|
|
for (local28 = 0; local28 < local5 + local5; local28++) {
|
|
this.anIntArray285[local28] = -1;
|
|
}
|
|
local28 = 0;
|
|
while (arg0.length > local28) {
|
|
@Pc(55) int local55;
|
|
for (local55 = local5 - 1 & arg0[local28]; this.anIntArray285[local55 + local55 + 1] != -1; local55 = local5 - 1 & local55 + 1) {
|
|
}
|
|
this.anIntArray285[local55 + local55] = arg0[local28];
|
|
this.anIntArray285[local55 + local55 + 1] = local28++;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!jg", name = "a", descriptor = "(II)I")
|
|
public final int method2405(@OriginalArg(0) int arg0) {
|
|
@Pc(16) int local16 = (this.anIntArray285.length >> 1) - 1;
|
|
@Pc(20) int local20 = local16 & arg0;
|
|
while (true) {
|
|
@Pc(29) int local29 = this.anIntArray285[local20 + local20 + 1];
|
|
if (local29 == -1) {
|
|
return -1;
|
|
}
|
|
if (arg0 == this.anIntArray285[local20 + local20]) {
|
|
return local29;
|
|
}
|
|
local20 = local20 + 1 & local16;
|
|
}
|
|
}
|
|
}
|