Files
runelite/runescape-client/src/main/java/NanoClock.java
Lucwousin 11f3b74687 RS-Client: Refactoring (also gradle compiler args) (#1236)
* gradle: compiler args for mixins/rs-client

* rs-client: yes

* rs-client: no
2019-08-02 21:01:00 +01:00

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;
}
}