60 lines
1.3 KiB
Java
60 lines
1.3 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("ft")
|
|
@Implements("NanoClock")
|
|
public class NanoClock extends Clock {
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedGetter(
|
|
longValue = 6745793608477696967L
|
|
)
|
|
@Export("lastTimeNano")
|
|
long lastTimeNano;
|
|
|
|
NanoClock() {
|
|
this.lastTimeNano = System.nanoTime();
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "-1402657312"
|
|
)
|
|
@Export("mark")
|
|
public void mark() {
|
|
this.lastTimeNano = System.nanoTime();
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(III)I",
|
|
garbageValue = "-333181863"
|
|
)
|
|
@Export("wait")
|
|
public int wait(int tickLength, int fiveOrOne) {
|
|
long var3 = 1000000L * (long)fiveOrOne;
|
|
long var5 = this.lastTimeNano - System.nanoTime();
|
|
if (var5 < var3) {
|
|
var5 = var3;
|
|
}
|
|
|
|
EnumDefinition.sleepMillis(var5 / 1000000L);
|
|
long var7 = System.nanoTime();
|
|
|
|
int var9 = 0;
|
|
while (var9 < 10 && (var9 < 1 || this.lastTimeNano < var7)) {
|
|
++var9;
|
|
this.lastTimeNano += (long)tickLength * 1000000L;
|
|
}
|
|
|
|
if (this.lastTimeNano < var7) {
|
|
this.lastTimeNano = var7;
|
|
}
|
|
|
|
return var9;
|
|
}
|
|
}
|