Files
runelite/runescape-client/src/main/java/NanoClock.java
2021-11-03 22:50:34 +11:00

59 lines
1.4 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("ex")
@Implements("NanoClock")
public class NanoClock extends Clock {
@ObfuscatedName("i")
@ObfuscatedGetter(
longValue = 3916314053745196243L
)
@Export("lastTimeNano")
long lastTimeNano;
public NanoClock() {
this.lastTimeNano = System.nanoTime(); // L: 10
} // L: 11
@ObfuscatedName("i")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "1421350581"
)
@Export("mark")
public void mark() {
this.lastTimeNano = System.nanoTime(); // L: 14
} // L: 15
@ObfuscatedName("w")
@ObfuscatedSignature(
descriptor = "(III)I",
garbageValue = "1121035205"
)
@Export("wait")
public int wait(int var1, int var2) {
long var3 = 1000000L * (long)var2; // L: 18
long var5 = this.lastTimeNano - System.nanoTime(); // L: 19
if (var5 < var3) { // L: 20
var5 = var3;
}
FloorUnderlayDefinition.method3190(var5 / 1000000L); // L: 21
long var7 = System.nanoTime(); // L: 22
int var9;
for (var9 = 0; var9 < 10 && (var9 < 1 || this.lastTimeNano < var7); this.lastTimeNano += (long)var1 * 1000000L) { // L: 23 24 26
++var9; // L: 25
}
if (this.lastTimeNano < var7) { // L: 28
this.lastTimeNano = var7;
}
return var9; // L: 29
}
}