121 lines
2.7 KiB
Java
121 lines
2.7 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("cv")
|
|
@Implements("HealthBar")
|
|
public class HealthBar extends Node {
|
|
@ObfuscatedName("dz")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Led;"
|
|
)
|
|
@Export("js5SocketTask")
|
|
static Task js5SocketTask;
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lft;"
|
|
)
|
|
@Export("definition")
|
|
HealthBarDefinition definition;
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lkz;"
|
|
)
|
|
@Export("updates")
|
|
IterableNodeDeque updates;
|
|
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lft;)V"
|
|
)
|
|
HealthBar(HealthBarDefinition var1) {
|
|
this.updates = new IterableNodeDeque();
|
|
this.definition = var1;
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IIIII)V",
|
|
garbageValue = "-1738206630"
|
|
)
|
|
@Export("put")
|
|
void put(int var1, int var2, int var3, int var4) {
|
|
HealthBarUpdate var5 = null;
|
|
int var6 = 0;
|
|
|
|
for (HealthBarUpdate var7 = (HealthBarUpdate)this.updates.last(); var7 != null; var7 = (HealthBarUpdate)this.updates.previous()) {
|
|
++var6;
|
|
if (var7.cycle == var1) {
|
|
var7.set(var1, var2, var3, var4);
|
|
return;
|
|
}
|
|
|
|
if (var7.cycle <= var1) {
|
|
var5 = var7;
|
|
}
|
|
}
|
|
|
|
if (var5 == null) {
|
|
if (var6 < 4) {
|
|
this.updates.addLast(new HealthBarUpdate(var1, var2, var3, var4));
|
|
}
|
|
|
|
} else {
|
|
IterableNodeDeque.IterableNodeDeque_addBefore(new HealthBarUpdate(var1, var2, var3, var4), var5);
|
|
if (var6 >= 4) {
|
|
this.updates.last().remove();
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)Lcc;",
|
|
garbageValue = "1300102488"
|
|
)
|
|
@Export("get")
|
|
HealthBarUpdate get(int var1) {
|
|
HealthBarUpdate var2 = (HealthBarUpdate)this.updates.last();
|
|
if (var2 != null && var2.cycle <= var1) {
|
|
for (HealthBarUpdate var3 = (HealthBarUpdate)this.updates.previous(); var3 != null && var3.cycle <= var1; var3 = (HealthBarUpdate)this.updates.previous()) {
|
|
var2.remove();
|
|
var2 = var3;
|
|
}
|
|
|
|
if (this.definition.int5 + var2.cycleOffset + var2.cycle > var1) {
|
|
return var2;
|
|
} else {
|
|
var2.remove();
|
|
return null;
|
|
}
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Z",
|
|
garbageValue = "-1972373384"
|
|
)
|
|
@Export("isEmpty")
|
|
boolean isEmpty() {
|
|
return this.updates.method5517();
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)I",
|
|
garbageValue = "-952267390"
|
|
)
|
|
public static int method2205(int var0) {
|
|
var0 = (var0 & 1431655765) + (var0 >>> 1 & 1431655765);
|
|
var0 = (var0 >>> 2 & 858993459) + (var0 & 858993459);
|
|
var0 = var0 + (var0 >>> 4) & 252645135;
|
|
var0 += var0 >>> 8;
|
|
var0 += var0 >>> 16;
|
|
return var0 & 255;
|
|
}
|
|
}
|