Files
runelite/runescape-client/src/main/java/PendingSpawn.java
Owain van Brakel 5e9375bc8b project: rev 200
2021-10-06 13:56:56 +02:00

439 lines
13 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("cx")
@Implements("PendingSpawn")
public final class PendingSpawn extends Node {
@ObfuscatedName("go")
@ObfuscatedSignature(
descriptor = "Lmk;"
)
static AbstractSocket field1101;
@ObfuscatedName("l")
@ObfuscatedGetter(
intValue = -64819785
)
@Export("plane")
int plane;
@ObfuscatedName("q")
@ObfuscatedGetter(
intValue = 1686538883
)
@Export("type")
int type;
@ObfuscatedName("f")
@ObfuscatedGetter(
intValue = -1948405039
)
@Export("x")
int x;
@ObfuscatedName("j")
@ObfuscatedGetter(
intValue = -1302314377
)
@Export("y")
int y;
@ObfuscatedName("m")
@ObfuscatedGetter(
intValue = -36721559
)
@Export("objectId")
int objectId;
@ObfuscatedName("k")
@ObfuscatedGetter(
intValue = 1553617043
)
int field1095;
@ObfuscatedName("t")
@ObfuscatedGetter(
intValue = 531221351
)
int field1096;
@ObfuscatedName("a")
@ObfuscatedGetter(
intValue = 474756437
)
@Export("id")
int id;
@ObfuscatedName("e")
@ObfuscatedGetter(
intValue = 1648049167
)
@Export("orientation")
int orientation;
@ObfuscatedName("i")
@ObfuscatedGetter(
intValue = -716448433
)
int field1104;
@ObfuscatedName("y")
@ObfuscatedGetter(
intValue = 161742555
)
@Export("delay")
int delay;
@ObfuscatedName("w")
@ObfuscatedGetter(
intValue = -1575290553
)
@Export("hitpoints")
int hitpoints;
PendingSpawn() {
this.delay = 0;
this.hitpoints = -1;
}
@ObfuscatedName("gf")
@ObfuscatedSignature(
descriptor = "(IIIIB)V",
garbageValue = "14"
)
@Export("drawEntities")
static final void drawEntities(int var0, int var1, int var2, int var3) {
++Client.viewportDrawCount;
if (class67.localPlayer.x >> 7 == Client.destinationX && class67.localPlayer.y >> 7 == Client.destinationY) {
Client.destinationX = 0;
}
class326.method5929();
class18.method280();
UserComparator5.addNpcsToScene(true);
class355.method6311();
UserComparator5.addNpcsToScene(false);
FriendsChat.method5993();
class54.method1055();
class130.setViewportShape(var0, var1, var2, var3, true);
var0 = Client.viewportOffsetX;
var1 = Client.viewportOffsetY;
var2 = Client.viewportWidth;
var3 = Client.viewportHeight;
Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1);
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
int var4;
int var5;
int var6;
int var7;
int var8;
int var9;
int var10;
int var11;
int var12;
int var14;
int var15;
int var16;
int var18;
if (!Client.isCameraLocked) {
var4 = Client.camAngleX;
if (Client.field565 / 256 > var4) {
var4 = Client.field565 / 256;
}
if (Client.field739[4] && Client.field741[4] + 128 > var4) {
var4 = Client.field741[4] + 128;
}
var5 = Client.camAngleY & 2047;
var6 = class132.oculusOrbFocalPointX;
var7 = class194.field2186;
var8 = LoginScreenAnimation.oculusOrbFocalPointY;
var9 = NetCache.method5335(var4);
var11 = var3 - 334;
if (var11 < 0) {
var11 = 0;
} else if (var11 > 100) {
var11 = 100;
}
var12 = (Client.zoomWidth - Client.zoomHeight) * var11 / 100 + Client.zoomHeight;
var10 = var12 * var9 / 256;
var11 = 2048 - var4 & 2047;
var12 = 2048 - var5 & 2047;
int var13 = 0;
var14 = 0;
var15 = var10;
int var17;
if (var11 != 0) {
var16 = Rasterizer3D.Rasterizer3D_sine[var11];
var17 = Rasterizer3D.Rasterizer3D_cosine[var11];
var18 = var17 * var14 - var10 * var16 >> 16;
var15 = var10 * var17 + var14 * var16 >> 16;
var14 = var18;
}
if (var12 != 0) {
var16 = Rasterizer3D.Rasterizer3D_sine[var12];
var17 = Rasterizer3D.Rasterizer3D_cosine[var12];
var18 = var15 * var16 + var13 * var17 >> 16;
var15 = var15 * var17 - var13 * var16 >> 16;
var13 = var18;
}
Canvas.cameraX = var6 - var13;
class14.cameraY = var7 - var14;
VarpDefinition.cameraZ = var8 - var15;
WorldMapIcon_1.cameraPitch = var4;
HealthBarUpdate.cameraYaw = var5;
if (Client.oculusOrbState == 1 && Client.staffModLevel >= 2 && Client.cycle % 50 == 0 && (class132.oculusOrbFocalPointX >> 7 != class67.localPlayer.x >> 7 || LoginScreenAnimation.oculusOrbFocalPointY >> 7 != class67.localPlayer.y >> 7)) {
var16 = class67.localPlayer.plane;
var17 = (class132.oculusOrbFocalPointX >> 7) + WorldMapSectionType.baseX;
var18 = (LoginScreenAnimation.oculusOrbFocalPointY >> 7) + PlayerComposition.baseY;
UrlRequest.method2386(var17, var18, var16, true);
}
}
if (!Client.isCameraLocked) {
var4 = class117.method2519();
} else {
if (WorldMapDecorationType.clientPreferences.roofsHidden) {
var5 = VertexNormal.Client_plane;
} else {
var6 = MidiPcmStream.getTileHeight(Canvas.cameraX, VarpDefinition.cameraZ, VertexNormal.Client_plane);
if (var6 - class14.cameraY < 800 && (Tiles.Tiles_renderFlags[VertexNormal.Client_plane][Canvas.cameraX >> 7][VarpDefinition.cameraZ >> 7] & 4) != 0) {
var5 = VertexNormal.Client_plane;
} else {
var5 = 3;
}
}
var4 = var5;
}
var5 = Canvas.cameraX;
var6 = class14.cameraY;
var7 = VarpDefinition.cameraZ;
var8 = WorldMapIcon_1.cameraPitch;
var9 = HealthBarUpdate.cameraYaw;
for (var10 = 0; var10 < 5; ++var10) {
if (Client.field739[var10]) {
var11 = (int)(Math.random() * (double)(Client.field740[var10] * 2 + 1) - (double)Client.field740[var10] + Math.sin((double)Client.field743[var10] * ((double)Client.field742[var10] / 100.0D)) * (double)Client.field741[var10]);
if (var10 == 0) {
Canvas.cameraX += var11;
}
if (var10 == 1) {
class14.cameraY += var11;
}
if (var10 == 2) {
VarpDefinition.cameraZ += var11;
}
if (var10 == 3) {
HealthBarUpdate.cameraYaw = var11 + HealthBarUpdate.cameraYaw & 2047;
}
if (var10 == 4) {
WorldMapIcon_1.cameraPitch += var11;
if (WorldMapIcon_1.cameraPitch < 128) {
WorldMapIcon_1.cameraPitch = 128;
}
if (WorldMapIcon_1.cameraPitch > 383) {
WorldMapIcon_1.cameraPitch = 383;
}
}
}
}
var10 = MouseHandler.MouseHandler_x;
var11 = MouseHandler.MouseHandler_y;
if (MouseHandler.MouseHandler_lastButton != 0) {
var10 = MouseHandler.MouseHandler_lastPressedX;
var11 = MouseHandler.MouseHandler_lastPressedY;
}
if (var10 >= var0 && var10 < var0 + var2 && var11 >= var1 && var11 < var3 + var1) {
class67.method1888(var10 - var0, var11 - var1);
} else {
ViewportMouse.ViewportMouse_isInViewport = false;
ViewportMouse.ViewportMouse_entityCount = 0;
}
class356.playPcmPlayers();
Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0);
class356.playPcmPlayers();
var12 = Rasterizer3D.Rasterizer3D_zoom;
Rasterizer3D.Rasterizer3D_zoom = Client.viewportZoom;
PlayerComposition.scene.draw(Canvas.cameraX, class14.cameraY, VarpDefinition.cameraZ, WorldMapIcon_1.cameraPitch, HealthBarUpdate.cameraYaw, var4);
Rasterizer3D.Rasterizer3D_zoom = var12;
class356.playPcmPlayers();
PlayerComposition.scene.clearTempGameObjects();
Client.overheadTextCount = 0;
boolean var31 = false;
var14 = -1;
var15 = -1;
var16 = Players.Players_count;
int[] var28 = Players.Players_indices;
for (var18 = 0; var18 < var16 + Client.npcCount; ++var18) {
Object var30;
if (var18 < var16) {
var30 = Client.players[var28[var18]];
if (var28[var18] == Client.combatTargetPlayerIndex) {
var31 = true;
var14 = var18;
continue;
}
if (var30 == class67.localPlayer) {
var15 = var18;
continue;
}
} else {
var30 = Client.npcs[Client.npcIndices[var18 - var16]];
}
BufferedFile.drawActor2d((Actor)var30, var18, var0, var1, var2, var3);
}
if (Client.renderSelf && var15 != -1) {
BufferedFile.drawActor2d(class67.localPlayer, var15, var0, var1, var2, var3);
}
if (var31) {
BufferedFile.drawActor2d(Client.players[Client.combatTargetPlayerIndex], var14, var0, var1, var2, var3);
}
for (var18 = 0; var18 < Client.overheadTextCount; ++var18) {
int var19 = Client.overheadTextXs[var18];
int var20 = Client.overheadTextYs[var18];
int var21 = Client.overheadTextXOffsets[var18];
int var22 = Client.overheadTextAscents[var18];
boolean var23 = true;
while (var23) {
var23 = false;
for (int var29 = 0; var29 < var18; ++var29) {
if (var20 + 2 > Client.overheadTextYs[var29] - Client.overheadTextAscents[var29] && var20 - var22 < Client.overheadTextYs[var29] + 2 && var19 - var21 < Client.overheadTextXOffsets[var29] + Client.overheadTextXs[var29] && var21 + var19 > Client.overheadTextXs[var29] - Client.overheadTextXOffsets[var29] && Client.overheadTextYs[var29] - Client.overheadTextAscents[var29] < var20) {
var20 = Client.overheadTextYs[var29] - Client.overheadTextAscents[var29];
var23 = true;
}
}
}
Client.viewportTempX = Client.overheadTextXs[var18];
Client.viewportTempY = Client.overheadTextYs[var18] = var20;
String var24 = Client.overheadText[var18];
if (Client.chatEffects == 0) {
int var25 = 16776960;
if (Client.overheadTextColors[var18] < 6) {
var25 = Client.field554[Client.overheadTextColors[var18]];
}
if (Client.overheadTextColors[var18] == 6) {
var25 = Client.viewportDrawCount % 20 < 10 ? 16711680 : 16776960;
}
if (Client.overheadTextColors[var18] == 7) {
var25 = Client.viewportDrawCount % 20 < 10 ? 255 : '\uffff';
}
if (Client.overheadTextColors[var18] == 8) {
var25 = Client.viewportDrawCount % 20 < 10 ? '뀀' : 8454016;
}
int var26;
if (Client.overheadTextColors[var18] == 9) {
var26 = 150 - Client.overheadTextCyclesRemaining[var18];
if (var26 < 50) {
var25 = var26 * 1280 + 16711680;
} else if (var26 < 100) {
var25 = 16776960 - (var26 - 50) * 327680;
} else if (var26 < 150) {
var25 = (var26 - 100) * 5 + 65280;
}
}
if (Client.overheadTextColors[var18] == 10) {
var26 = 150 - Client.overheadTextCyclesRemaining[var18];
if (var26 < 50) {
var25 = var26 * 5 + 16711680;
} else if (var26 < 100) {
var25 = 16711935 - (var26 - 50) * 327680;
} else if (var26 < 150) {
var25 = (var26 - 100) * 327680 + 255 - (var26 - 100) * 5;
}
}
if (Client.overheadTextColors[var18] == 11) {
var26 = 150 - Client.overheadTextCyclesRemaining[var18];
if (var26 < 50) {
var25 = 16777215 - var26 * 327685;
} else if (var26 < 100) {
var25 = (var26 - 50) * 327685 + 65280;
} else if (var26 < 150) {
var25 = 16777215 - (var26 - 100) * 327680;
}
}
if (Client.overheadTextEffects[var18] == 0) {
Interpreter.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0);
}
if (Client.overheadTextEffects[var18] == 1) {
Interpreter.fontBold12.drawCenteredWave(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount);
}
if (Client.overheadTextEffects[var18] == 2) {
Interpreter.fontBold12.drawCenteredWave2(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount);
}
if (Client.overheadTextEffects[var18] == 3) {
Interpreter.fontBold12.drawCenteredShake(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var18]);
}
if (Client.overheadTextEffects[var18] == 4) {
var26 = (150 - Client.overheadTextCyclesRemaining[var18]) * (Interpreter.fontBold12.stringWidth(var24) + 100) / 150;
Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1);
Interpreter.fontBold12.draw(var24, var0 + Client.viewportTempX + 50 - var26, Client.viewportTempY + var1, var25, 0);
Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1);
}
if (Client.overheadTextEffects[var18] == 5) {
var26 = 150 - Client.overheadTextCyclesRemaining[var18];
int var27 = 0;
if (var26 < 25) {
var27 = var26 - 25;
} else if (var26 > 125) {
var27 = var26 - 125;
}
Rasterizer2D.Rasterizer2D_expandClip(var0, Client.viewportTempY + var1 - Interpreter.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5);
Interpreter.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, var27 + Client.viewportTempY + var1, var25, 0);
Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1);
}
} else {
Interpreter.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, 16776960, 0);
}
}
WorldMapScaleHandler.method4005(var0, var1);
((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).animate(Client.field536);
class11.method110(var0, var1, var2, var3);
Canvas.cameraX = var5;
class14.cameraY = var6;
VarpDefinition.cameraZ = var7;
WorldMapIcon_1.cameraPitch = var8;
HealthBarUpdate.cameraYaw = var9;
if (Client.isLoading) {
byte var32 = 0;
var14 = var32 + NetCache.NetCache_pendingPriorityWritesCount + NetCache.NetCache_pendingPriorityResponsesCount;
if (var14 == 0) {
Client.isLoading = false;
}
}
if (Client.isLoading) {
Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0);
ScriptFrame.drawLoadingMessage("Loading - please wait.", false);
}
}
}