Files
runelite/runescape-client/src/main/java/WorldMapSection0.java
2020-04-11 13:13:55 +01:00

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