403 lines
11 KiB
Java
403 lines
11 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("ai")
|
|
@Implements("WorldMapSection0")
|
|
public class WorldMapSection0 implements WorldMapSection {
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedGetter(
|
|
intValue = 713824535
|
|
)
|
|
@Export("oldZ")
|
|
int oldZ;
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedGetter(
|
|
intValue = -1876975141
|
|
)
|
|
@Export("newZ")
|
|
int newZ;
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedGetter(
|
|
intValue = -1131302305
|
|
)
|
|
@Export("oldX")
|
|
int oldX;
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedGetter(
|
|
intValue = -676651519
|
|
)
|
|
@Export("oldY")
|
|
int oldY;
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedGetter(
|
|
intValue = -1875954061
|
|
)
|
|
@Export("newX")
|
|
int newX;
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedGetter(
|
|
intValue = -391734637
|
|
)
|
|
@Export("newY")
|
|
int newY;
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedGetter(
|
|
intValue = 858906315
|
|
)
|
|
@Export("oldChunkXLow")
|
|
int oldChunkXLow;
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedGetter(
|
|
intValue = 2112793997
|
|
)
|
|
@Export("oldChunkYLow")
|
|
int oldChunkYLow;
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedGetter(
|
|
intValue = -902525679
|
|
)
|
|
@Export("oldChunkXHigh")
|
|
int oldChunkXHigh;
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedGetter(
|
|
intValue = 519445535
|
|
)
|
|
@Export("oldChunkYHigh")
|
|
int oldChunkYHigh;
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedGetter(
|
|
intValue = -2051517669
|
|
)
|
|
@Export("newChunkXLow")
|
|
int newChunkXLow;
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedGetter(
|
|
intValue = 878808507
|
|
)
|
|
@Export("newChunkYLow")
|
|
int newChunkYLow;
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedGetter(
|
|
intValue = 671796187
|
|
)
|
|
@Export("newChunkXHigh")
|
|
int newChunkXHigh;
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedGetter(
|
|
intValue = -362726853
|
|
)
|
|
@Export("newChunkYHigh")
|
|
int newChunkYHigh;
|
|
|
|
WorldMapSection0() {
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
signature = "(Las;I)V",
|
|
garbageValue = "1890497148"
|
|
)
|
|
@Export("expandBounds")
|
|
public void expandBounds(WorldMapArea var1) {
|
|
if (var1.regionLowX > this.newX) {
|
|
var1.regionLowX = this.newX;
|
|
}
|
|
|
|
if (var1.regionHighX < this.newX) {
|
|
var1.regionHighX = this.newX;
|
|
}
|
|
|
|
if (var1.regionLowY > this.newY) {
|
|
var1.regionLowY = this.newY;
|
|
}
|
|
|
|
if (var1.regionHighY < this.newY) {
|
|
var1.regionHighY = this.newY;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIII)Z",
|
|
garbageValue = "-65934716"
|
|
)
|
|
@Export("containsCoord")
|
|
public boolean containsCoord(int var1, int var2, int var3) {
|
|
if (var1 >= this.oldZ && var1 < this.newZ + this.oldZ) {
|
|
return var2 >= (this.oldX << 6) + (this.oldChunkXLow << 3) && var2 <= (this.oldX << 6) + (this.oldChunkXHigh << 3) + 7 && var3 >= (this.oldY << 6) + (this.oldChunkYLow << 3) && var3 <= (this.oldY << 6) + (this.oldChunkYHigh << 3) + 7;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "(III)Z",
|
|
garbageValue = "-240937232"
|
|
)
|
|
@Export("containsPosition")
|
|
public boolean containsPosition(int var1, int var2) {
|
|
return var1 >= (this.newX << 6) + (this.newChunkXLow << 3) && var1 <= (this.newX << 6) + (this.newChunkXHigh << 3) + 7 && var2 >= (this.newY << 6) + (this.newChunkYLow << 3) && var2 <= (this.newY << 6) + (this.newChunkYHigh << 3) + 7;
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIII)[I",
|
|
garbageValue = "1656767825"
|
|
)
|
|
@Export("getBorderTileLengths")
|
|
public int[] getBorderTileLengths(int var1, int var2, int var3) {
|
|
if (!this.containsCoord(var1, var2, var3)) {
|
|
return null;
|
|
} else {
|
|
int[] var4 = new int[]{var2 + (this.newX * 64 - this.oldX * 64) + (this.newChunkXLow * 8 - this.oldChunkXLow * 8), var3 + (this.newY * 64 - this.oldY * 64) + (this.newChunkYLow * 8 - this.oldChunkYLow * 8)};
|
|
return var4;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(III)Lhj;",
|
|
garbageValue = "-226825052"
|
|
)
|
|
@Export("coord")
|
|
public Coord coord(int var1, int var2) {
|
|
if (!this.containsPosition(var1, var2)) {
|
|
return null;
|
|
} else {
|
|
int var3 = this.oldX * 64 - this.newX * 64 + (this.oldChunkXLow * 8 - this.newChunkXLow * 8) + var1;
|
|
int var4 = var2 + (this.oldY * 64 - this.newY * 64) + (this.oldChunkYLow * 8 - this.newChunkYLow * 8);
|
|
return new Coord(this.oldZ, var3, var4);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lkb;I)V",
|
|
garbageValue = "-1393433755"
|
|
)
|
|
@Export("read")
|
|
public void read(Buffer var1) {
|
|
this.oldZ = var1.readUnsignedByte();
|
|
this.newZ = var1.readUnsignedByte();
|
|
this.oldX = var1.readUnsignedShort();
|
|
this.oldChunkXLow = var1.readUnsignedByte();
|
|
this.oldChunkXHigh = var1.readUnsignedByte();
|
|
this.oldY = var1.readUnsignedShort();
|
|
this.oldChunkYLow = var1.readUnsignedByte();
|
|
this.oldChunkYHigh = var1.readUnsignedByte();
|
|
this.newX = var1.readUnsignedShort();
|
|
this.newChunkXLow = var1.readUnsignedByte();
|
|
this.newChunkXHigh = var1.readUnsignedByte();
|
|
this.newY = var1.readUnsignedShort();
|
|
this.newChunkYLow = var1.readUnsignedByte();
|
|
this.newChunkYHigh = var1.readUnsignedByte();
|
|
this.postRead();
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "-1832298319"
|
|
)
|
|
@Export("postRead")
|
|
void postRead() {
|
|
}
|
|
|
|
@ObfuscatedName("gi")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIII)V",
|
|
garbageValue = "-1632092038"
|
|
)
|
|
@Export("worldToScreen")
|
|
static final void worldToScreen(int var0, int var1, int var2) {
|
|
if (var0 >= 128 && var1 >= 128 && var0 <= 13056 && var1 <= 13056) {
|
|
int var3 = class277.getTileHeight(var0, var1, ScriptEvent.Client_plane) - var2;
|
|
var0 -= WorldMapRectangle.cameraX;
|
|
var3 -= GrandExchangeOfferWorldComparator.cameraY;
|
|
var1 -= class200.cameraZ;
|
|
int var4 = Rasterizer3D.Rasterizer3D_sine[ApproximateRouteStrategy.cameraPitch];
|
|
int var5 = Rasterizer3D.Rasterizer3D_cosine[ApproximateRouteStrategy.cameraPitch];
|
|
int var6 = Rasterizer3D.Rasterizer3D_sine[WorldMapIcon_1.cameraYaw];
|
|
int var7 = Rasterizer3D.Rasterizer3D_cosine[WorldMapIcon_1.cameraYaw];
|
|
int var8 = var0 * var7 + var6 * var1 >> 16;
|
|
var1 = var7 * var1 - var0 * var6 >> 16;
|
|
var0 = var8;
|
|
var8 = var5 * var3 - var4 * var1 >> 16;
|
|
var1 = var5 * var1 + var4 * var3 >> 16;
|
|
if (var1 >= 50) {
|
|
Client.viewportTempX = var0 * Client.viewportZoom / var1 + Client.viewportWidth / 2;
|
|
Client.viewportTempY = var8 * Client.viewportZoom / var1 + Client.viewportHeight / 2;
|
|
} else {
|
|
Client.viewportTempX = -1;
|
|
Client.viewportTempY = -1;
|
|
}
|
|
|
|
} else {
|
|
Client.viewportTempX = -1;
|
|
Client.viewportTempY = -1;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("hm")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lkj;I)V",
|
|
garbageValue = "1398134743"
|
|
)
|
|
static final void method335(PacketBuffer var0) {
|
|
for (int var1 = 0; var1 < Client.field851; ++var1) {
|
|
int var2 = Client.field725[var1];
|
|
NPC var3 = Client.npcs[var2];
|
|
int var4 = var0.readUnsignedByte();
|
|
int var5;
|
|
int var6;
|
|
int var7;
|
|
if ((var4 & 128) != 0) {
|
|
var5 = var0.method5614();
|
|
if (var5 == 65535) {
|
|
var5 = -1;
|
|
}
|
|
|
|
var6 = var0.readUnsignedByte();
|
|
if (var5 == var3.sequence && var5 != -1) {
|
|
var7 = SpotAnimationDefinition.SequenceDefinition_get(var5).field3525;
|
|
if (var7 == 1) {
|
|
var3.sequenceFrame = 0;
|
|
var3.sequenceFrameCycle = 0;
|
|
var3.sequenceDelay = var6;
|
|
var3.field1011 = 0;
|
|
}
|
|
|
|
if (var7 == 2) {
|
|
var3.field1011 = 0;
|
|
}
|
|
} else if (var5 == -1 || var3.sequence == -1 || SpotAnimationDefinition.SequenceDefinition_get(var5).field3519 >= SpotAnimationDefinition.SequenceDefinition_get(var3.sequence).field3519) {
|
|
var3.sequence = var5;
|
|
var3.sequenceFrame = 0;
|
|
var3.sequenceFrameCycle = 0;
|
|
var3.sequenceDelay = var6;
|
|
var3.field1011 = 0;
|
|
var3.field1032 = var3.pathLength;
|
|
}
|
|
}
|
|
|
|
int var8;
|
|
if ((var4 & 16) != 0) {
|
|
var5 = var0.method5613();
|
|
var6 = var0.method5614();
|
|
var7 = var3.x - (var5 - class69.baseX - class69.baseX) * 64;
|
|
var8 = var3.y - (var6 - class89.baseY - class89.baseY) * 64;
|
|
if (var7 != 0 || var8 != 0) {
|
|
var3.field1015 = (int)(Math.atan2((double)var7, (double)var8) * 325.949D) & 2047;
|
|
}
|
|
}
|
|
|
|
if ((var4 & 32) != 0) {
|
|
var3.definition = class237.getNpcDefinition(var0.method5614());
|
|
var3.field976 = var3.definition.size;
|
|
var3.field1026 = var3.definition.rotation;
|
|
var3.walkSequence = var3.definition.walkSequence;
|
|
var3.walkBackSequence = var3.definition.walkBackSequence;
|
|
var3.walkLeftSequence = var3.definition.walkLeftSequence;
|
|
var3.walkRightSequence = var3.definition.walkRightSequence;
|
|
var3.readySequence = var3.definition.readySequence;
|
|
var3.turnLeftSequence = var3.definition.turnLeftSequence;
|
|
var3.turnRightSequence = var3.definition.turnRightSequence;
|
|
}
|
|
|
|
if ((var4 & 8) != 0) {
|
|
var3.targetIndex = var0.readUnsignedShort();
|
|
if (var3.targetIndex == 65535) {
|
|
var3.targetIndex = -1;
|
|
}
|
|
}
|
|
|
|
if ((var4 & 2) != 0) {
|
|
var3.spotAnimation = var0.method5614();
|
|
var5 = var0.method5621();
|
|
var3.field1033 = var5 >> 16;
|
|
var3.field1013 = (var5 & 65535) + Client.cycle;
|
|
var3.spotAnimationFrame = 0;
|
|
var3.spotAnimationFrameCycle = 0;
|
|
if (var3.field1013 > Client.cycle) {
|
|
var3.spotAnimationFrame = -1;
|
|
}
|
|
|
|
if (var3.spotAnimation == 65535) {
|
|
var3.spotAnimation = -1;
|
|
}
|
|
}
|
|
|
|
if ((var4 & 64) != 0) {
|
|
var3.overheadText = var0.readStringCp1252NullTerminated();
|
|
var3.overheadTextCyclesRemaining = 100;
|
|
}
|
|
|
|
if ((var4 & 1) != 0) {
|
|
var5 = var0.method5605();
|
|
int var9;
|
|
int var10;
|
|
int var11;
|
|
if (var5 > 0) {
|
|
for (var6 = 0; var6 < var5; ++var6) {
|
|
var8 = -1;
|
|
var9 = -1;
|
|
var10 = -1;
|
|
var7 = var0.readUShortSmart();
|
|
if (var7 == 32767) {
|
|
var7 = var0.readUShortSmart();
|
|
var9 = var0.readUShortSmart();
|
|
var8 = var0.readUShortSmart();
|
|
var10 = var0.readUShortSmart();
|
|
} else if (var7 != 32766) {
|
|
var9 = var0.readUShortSmart();
|
|
} else {
|
|
var7 = -1;
|
|
}
|
|
|
|
var11 = var0.readUShortSmart();
|
|
var3.addHitSplat(var7, var9, var8, var10, Client.cycle, var11);
|
|
}
|
|
}
|
|
|
|
var6 = var0.method5604();
|
|
if (var6 > 0) {
|
|
for (var7 = 0; var7 < var6; ++var7) {
|
|
var8 = var0.readUShortSmart();
|
|
var9 = var0.readUShortSmart();
|
|
if (var9 != 32767) {
|
|
var10 = var0.readUShortSmart();
|
|
var11 = var0.method5604();
|
|
int var12 = var9 > 0 ? var0.method5605() : var11;
|
|
var3.addHealthBar(var8, Client.cycle, var9, var10, var11, var12);
|
|
} else {
|
|
var3.removeHealthBar(var8);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if ((var4 & 4) != 0) {
|
|
var3.field990 = var0.method5607();
|
|
var3.field1017 = var0.method5608();
|
|
var3.field972 = var0.method5606();
|
|
var3.field1018 = var0.readByte();
|
|
var3.field1019 = var0.method5564() + Client.cycle;
|
|
var3.field1020 = var0.method5613() + Client.cycle;
|
|
var3.field1021 = var0.readUnsignedShort();
|
|
var3.pathLength = 1;
|
|
var3.field1032 = 0;
|
|
var3.field990 += var3.pathX[0];
|
|
var3.field1017 += var3.pathY[0];
|
|
var3.field972 += var3.pathX[0];
|
|
var3.field1018 += var3.pathY[0];
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|