240 lines
6.1 KiB
Java
240 lines
6.1 KiB
Java
import java.io.File;
|
|
import java.io.RandomAccessFile;
|
|
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("ds")
|
|
@Implements("NPC")
|
|
public final class NPC extends Actor {
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lit;"
|
|
)
|
|
@Export("musicTrack")
|
|
static MusicTrack musicTrack;
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Ley;"
|
|
)
|
|
@Export("definition")
|
|
NPCComposition definition;
|
|
|
|
NPC() {
|
|
} // L: 12
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IBB)V",
|
|
garbageValue = "2"
|
|
)
|
|
final void method2254(int var1, byte var2) {
|
|
int var3 = super.pathX[0]; // L: 15
|
|
int var4 = super.pathY[0];
|
|
if (var1 == 0) {
|
|
--var3;
|
|
++var4;
|
|
}
|
|
|
|
if (var1 == 1) { // L: 21
|
|
++var4;
|
|
}
|
|
|
|
if (var1 == 2) {
|
|
++var3;
|
|
++var4;
|
|
}
|
|
|
|
if (var1 == 3) {
|
|
--var3;
|
|
}
|
|
|
|
if (var1 == 4) {
|
|
++var3;
|
|
}
|
|
|
|
if (var1 == 5) {
|
|
--var3;
|
|
--var4;
|
|
}
|
|
|
|
if (var1 == 6) { // L: 32
|
|
--var4;
|
|
}
|
|
|
|
if (var1 == 7) { // L: 33
|
|
++var3; // L: 34
|
|
--var4;
|
|
}
|
|
|
|
if (super.sequence != -1 && Player.SequenceDefinition_get(super.sequence).field1882 == 1) {
|
|
super.sequence = -1;
|
|
}
|
|
|
|
if (super.pathLength < 9) { // L: 38
|
|
++super.pathLength;
|
|
}
|
|
|
|
for (int var5 = super.pathLength; var5 > 0; --var5) { // L: 39
|
|
super.pathX[var5] = super.pathX[var5 - 1];
|
|
super.pathY[var5] = super.pathY[var5 - 1]; // L: 41
|
|
super.pathTraversed[var5] = super.pathTraversed[var5 - 1];
|
|
}
|
|
|
|
super.pathX[0] = var3; // L: 44
|
|
super.pathY[0] = var4; // L: 45
|
|
super.pathTraversed[0] = var2; // L: 46
|
|
} // L: 47
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Lgj;",
|
|
garbageValue = "-220627570"
|
|
)
|
|
@Export("getModel")
|
|
protected final Model getModel() {
|
|
if (this.definition == null) { // L: 77
|
|
return null;
|
|
} else {
|
|
SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? Player.SequenceDefinition_get(super.sequence) : null; // L: 78
|
|
SequenceDefinition var2 = super.movementSequence == -1 || super.movementSequence == super.idleSequence && var1 != null ? null : Player.SequenceDefinition_get(super.movementSequence); // L: 79
|
|
Model var3 = this.definition.getModel(var1, super.sequenceFrame, var2, super.movementFrame); // L: 80
|
|
if (var3 == null) { // L: 81
|
|
return null;
|
|
} else {
|
|
var3.calculateBoundsCylinder(); // L: 82
|
|
super.defaultHeight = var3.height; // L: 83
|
|
if (super.spotAnimation != -1 && super.spotAnimationFrame != -1) { // L: 84
|
|
Model var4 = Friend.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); // L: 85
|
|
if (var4 != null) { // L: 86
|
|
var4.offsetBy(0, -super.field1224, 0); // L: 87
|
|
Model[] var5 = new Model[]{var3, var4}; // L: 88
|
|
var3 = new Model(var5, 2); // L: 89
|
|
}
|
|
}
|
|
|
|
if (this.definition.size == 1) { // L: 92
|
|
var3.isSingleTile = true;
|
|
}
|
|
|
|
return var3; // L: 93
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IIZI)V",
|
|
garbageValue = "137252857"
|
|
)
|
|
final void method2267(int var1, int var2, boolean var3) {
|
|
if (super.sequence != -1 && Player.SequenceDefinition_get(super.sequence).field1882 == 1) { // L: 50
|
|
super.sequence = -1;
|
|
}
|
|
|
|
if (!var3) { // L: 51
|
|
int var4 = var1 - super.pathX[0]; // L: 52
|
|
int var5 = var2 - super.pathY[0]; // L: 53
|
|
if (var4 >= -8 && var4 <= 8 && var5 >= -8 && var5 <= 8) { // L: 54
|
|
if (super.pathLength < 9) { // L: 55
|
|
++super.pathLength;
|
|
}
|
|
|
|
for (int var6 = super.pathLength; var6 > 0; --var6) { // L: 56
|
|
super.pathX[var6] = super.pathX[var6 - 1]; // L: 57
|
|
super.pathY[var6] = super.pathY[var6 - 1]; // L: 58
|
|
super.pathTraversed[var6] = super.pathTraversed[var6 - 1]; // L: 59
|
|
}
|
|
|
|
super.pathX[0] = var1; // L: 61
|
|
super.pathY[0] = var2; // L: 62
|
|
super.pathTraversed[0] = 1; // L: 63
|
|
return; // L: 64
|
|
}
|
|
}
|
|
|
|
super.pathLength = 0; // L: 67
|
|
super.field1215 = 0; // L: 68
|
|
super.field1250 = 0; // L: 69
|
|
super.pathX[0] = var1; // L: 70
|
|
super.pathY[0] = var2; // L: 71
|
|
super.x = super.pathX[0] * 128 + super.field1211 * 64; // L: 72
|
|
super.y = super.field1211 * 64 + super.pathY[0] * 128; // L: 73
|
|
} // L: 74
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Z",
|
|
garbageValue = "-1701330496"
|
|
)
|
|
@Export("isVisible")
|
|
final boolean isVisible() {
|
|
return this.definition != null; // L: 97
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)[Lhk;",
|
|
garbageValue = "1337289345"
|
|
)
|
|
static LoginPacket[] method2253() {
|
|
return new LoginPacket[]{LoginPacket.field2803, LoginPacket.field2804, LoginPacket.field2798, LoginPacket.field2800, LoginPacket.field2801, LoginPacket.field2799};
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;B)Ljava/io/File;",
|
|
garbageValue = "16"
|
|
)
|
|
@Export("getFile")
|
|
static File getFile(String var0) {
|
|
if (!FileSystem.FileSystem_hasPermissions) { // L: 16
|
|
throw new RuntimeException("");
|
|
} else {
|
|
File var1 = (File)FileSystem.FileSystem_cacheFiles.get(var0);
|
|
if (var1 != null) {
|
|
return var1;
|
|
} else {
|
|
File var2 = new File(FileSystem.FileSystem_cacheDir, var0); // L: 19
|
|
RandomAccessFile var3 = null; // L: 20
|
|
|
|
try {
|
|
File var4 = new File(var2.getParent()); // L: 22
|
|
if (!var4.exists()) { // L: 23
|
|
throw new RuntimeException("");
|
|
} else {
|
|
var3 = new RandomAccessFile(var2, "rw"); // L: 24
|
|
int var5 = var3.read(); // L: 25
|
|
var3.seek(0L); // L: 26
|
|
var3.write(var5); // L: 27
|
|
var3.seek(0L); // L: 28
|
|
var3.close(); // L: 29
|
|
FileSystem.FileSystem_cacheFiles.put(var0, var2); // L: 30
|
|
return var2; // L: 31
|
|
}
|
|
} catch (Exception var8) {
|
|
try {
|
|
if (var3 != null) { // L: 35
|
|
var3.close(); // L: 36
|
|
var3 = null; // L: 37
|
|
}
|
|
} catch (Exception var7) { // L: 40
|
|
}
|
|
|
|
throw new RuntimeException(); // L: 42
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljp;B)V",
|
|
garbageValue = "1"
|
|
)
|
|
public static void method2266(AbstractArchive var0) {
|
|
InvDefinition.InvDefinition_archive = var0; // L: 17
|
|
} // L: 18
|
|
}
|