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

1165 lines
36 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("fc")
@Implements("WorldMapLabelSize")
public class WorldMapLabelSize {
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "Lfc;"
)
@Export("WorldMapLabelSize_small")
public static final WorldMapLabelSize WorldMapLabelSize_small;
@ObfuscatedName("q")
@ObfuscatedSignature(
descriptor = "Lfc;"
)
@Export("WorldMapLabelSize_medium")
public static final WorldMapLabelSize WorldMapLabelSize_medium;
@ObfuscatedName("f")
@ObfuscatedSignature(
descriptor = "Lfc;"
)
@Export("WorldMapLabelSize_large")
public static final WorldMapLabelSize WorldMapLabelSize_large;
@ObfuscatedName("fi")
@ObfuscatedGetter(
intValue = -493270791
)
@Export("worldPort")
static int worldPort;
@ObfuscatedName("j")
@ObfuscatedGetter(
intValue = -153786259
)
final int field2012;
@ObfuscatedName("m")
@ObfuscatedGetter(
intValue = -1953042663
)
final int field2014;
@ObfuscatedName("k")
@ObfuscatedGetter(
intValue = -635469781
)
final int field2010;
static {
WorldMapLabelSize_small = new WorldMapLabelSize(0, 0, 4);
WorldMapLabelSize_medium = new WorldMapLabelSize(1, 1, 2);
WorldMapLabelSize_large = new WorldMapLabelSize(2, 2, 0);
}
WorldMapLabelSize(int var1, int var2, int var3) {
this.field2012 = var1;
this.field2014 = var2;
this.field2010 = var3;
}
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "(FI)Z",
garbageValue = "1395291796"
)
boolean method3447(float var1) {
return var1 >= (float)this.field2010;
}
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "(II)Lem;",
garbageValue = "1099508444"
)
@Export("KitDefinition_get")
public static KitDefinition KitDefinition_get(int var0) {
KitDefinition var1 = (KitDefinition)KitDefinition.KitDefinition_cached.get((long)var0);
if (var1 != null) {
return var1;
} else {
byte[] var2 = KitDefinition.KitDefinition_archive.takeFile(3, var0);
var1 = new KitDefinition();
if (var2 != null) {
var1.decode(new Buffer(var2));
}
KitDefinition.KitDefinition_cached.put(var1, (long)var0);
return var1;
}
}
@ObfuscatedName("z")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "31"
)
public static void method3446() {
ItemComposition.ItemDefinition_cached.clear();
ItemComposition.ItemDefinition_cachedModels.clear();
ItemComposition.ItemDefinition_cachedSprites.clear();
}
@ObfuscatedName("gi")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-1948532333"
)
static final void method3448() {
MouseRecorder.method2075(false);
Client.field764 = 0;
boolean var0 = true;
int var1;
for (var1 = 0; var1 < class28.regionLandArchives.length; ++var1) {
if (Canvas.regionMapArchiveIds[var1] != -1 && class28.regionLandArchives[var1] == null) {
class28.regionLandArchives[var1] = ApproximateRouteStrategy.archive5.takeFile(Canvas.regionMapArchiveIds[var1], 0);
if (class28.regionLandArchives[var1] == null) {
var0 = false;
++Client.field764;
}
}
if (GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var1] != -1 && Client.regionMapArchives[var1] == null) {
Client.regionMapArchives[var1] = ApproximateRouteStrategy.archive5.takeFileEncrypted(GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var1], 0, ModeWhere.xteaKeys[var1]);
if (Client.regionMapArchives[var1] == null) {
var0 = false;
++Client.field764;
}
}
}
if (!var0) {
Client.field534 = 1;
} else {
Client.field545 = 0;
var0 = true;
int var4;
int var57;
for (var1 = 0; var1 < class28.regionLandArchives.length; ++var1) {
byte[] var2 = Client.regionMapArchives[var1];
if (var2 != null) {
var57 = (class129.regions[var1] >> 8) * 64 - WorldMapSectionType.baseX;
var4 = (class129.regions[var1] & 255) * 64 - PlayerComposition.baseY;
if (Client.isInInstance) {
var57 = 10;
var4 = 10;
}
var0 &= class130.method2682(var2, var57, var4);
}
}
if (!var0) {
Client.field534 = 2;
} else {
if (Client.field534 != 0) {
ScriptFrame.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + 100 + "%" + ")", true);
}
class356.playPcmPlayers();
PlayerComposition.scene.clear();
for (var1 = 0; var1 < 4; ++var1) {
Client.collisionMaps[var1].clear();
}
int var49;
for (var1 = 0; var1 < 4; ++var1) {
for (var49 = 0; var49 < 104; ++var49) {
for (var57 = 0; var57 < 104; ++var57) {
Tiles.Tiles_renderFlags[var1][var49][var57] = 0;
}
}
}
class356.playPcmPlayers();
Tiles.Tiles_minPlane = 99;
Tiles.Tiles_underlays = new byte[4][104][104];
Tiles.Tiles_overlays = new byte[4][104][104];
class14.Tiles_shapes = new byte[4][104][104];
GrandExchangeEvent.field3760 = new byte[4][104][104];
Huffman.field3203 = new int[4][105][105];
class281.field3323 = new byte[4][105][105];
Tiles.field981 = new int[105][105];
class11.Tiles_hue = new int[104];
Tiles.Tiles_saturation = new int[104];
Tiles.Tiles_lightness = new int[104];
Client.Tiles_hueMultiplier = new int[104];
Tiles.field984 = new int[104];
var1 = class28.regionLandArchives.length;
for (ObjectSound var68 = (ObjectSound)ObjectSound.objectSounds.last(); var68 != null; var68 = (ObjectSound)ObjectSound.objectSounds.previous()) {
if (var68.stream1 != null) {
ApproximateRouteStrategy.pcmStreamMixer.removeSubStream(var68.stream1);
var68.stream1 = null;
}
if (var68.stream2 != null) {
ApproximateRouteStrategy.pcmStreamMixer.removeSubStream(var68.stream2);
var68.stream2 = null;
}
}
ObjectSound.objectSounds.clear();
MouseRecorder.method2075(true);
int var5;
int var9;
int var10;
int var11;
int var12;
int var13;
int var14;
int var15;
int var16;
int var17;
int var18;
int var19;
int var20;
int var21;
if (!Client.isInInstance) {
byte[] var50;
for (var49 = 0; var49 < var1; ++var49) {
var57 = (class129.regions[var49] >> 8) * 64 - WorldMapSectionType.baseX;
var4 = (class129.regions[var49] & 255) * 64 - PlayerComposition.baseY;
var50 = class28.regionLandArchives[var49];
if (var50 != null) {
class356.playPcmPlayers();
WorldMapEvent.method4018(var50, var57, var4, HealthBarDefinition.field1671 * 8 - 48, WorldMapArea.field2053 * 8 - 48, Client.collisionMaps);
}
}
for (var49 = 0; var49 < var1; ++var49) {
var57 = (class129.regions[var49] >> 8) * 64 - WorldMapSectionType.baseX;
var4 = (class129.regions[var49] & 255) * 64 - PlayerComposition.baseY;
var50 = class28.regionLandArchives[var49];
if (var50 == null && WorldMapArea.field2053 < 800) {
class356.playPcmPlayers();
MouseHandler.method586(var57, var4, 64, 64);
}
}
MouseRecorder.method2075(true);
for (var49 = 0; var49 < var1; ++var49) {
byte[] var3 = Client.regionMapArchives[var49];
if (var3 != null) {
var4 = (class129.regions[var49] >> 8) * 64 - WorldMapSectionType.baseX;
var5 = (class129.regions[var49] & 255) * 64 - PlayerComposition.baseY;
class356.playPcmPlayers();
Scene var64 = PlayerComposition.scene;
CollisionMap[] var65 = Client.collisionMaps;
Buffer var66 = new Buffer(var3);
var9 = -1;
while (true) {
var10 = var66.method7037();
if (var10 == 0) {
break;
}
var9 += var10;
var11 = 0;
while (true) {
var12 = var66.readUShortSmart();
if (var12 == 0) {
break;
}
var11 += var12 - 1;
var13 = var11 & 63;
var14 = var11 >> 6 & 63;
var15 = var11 >> 12;
var16 = var66.readUnsignedByte();
var17 = var16 >> 2;
var18 = var16 & 3;
var19 = var14 + var4;
var20 = var13 + var5;
if (var19 > 0 && var20 > 0 && var19 < 103 && var20 < 103) {
var21 = var15;
if ((Tiles.Tiles_renderFlags[1][var19][var20] & 2) == 2) {
var21 = var15 - 1;
}
CollisionMap var67 = null;
if (var21 >= 0) {
var67 = var65[var21];
}
class7.method64(var15, var19, var20, var9, var18, var17, var64, var67);
}
}
}
}
}
}
int var6;
int var7;
int var8;
int[] var10000;
int var22;
int var23;
int var24;
int var25;
int var26;
int var27;
int var28;
int var29;
int var32;
int var33;
int var34;
int var35;
int var36;
int var41;
int var42;
int var43;
int var44;
int var45;
int var53;
int var54;
if (Client.isInInstance) {
CollisionMap[] var56;
Buffer var59;
for (var49 = 0; var49 < 4; ++var49) {
class356.playPcmPlayers();
for (var57 = 0; var57 < 13; ++var57) {
for (var4 = 0; var4 < 13; ++var4) {
boolean var71 = false;
var6 = Client.instanceChunkTemplates[var49][var57][var4];
if (var6 != -1) {
var7 = var6 >> 24 & 3;
var8 = var6 >> 1 & 3;
var9 = var6 >> 14 & 1023;
var10 = var6 >> 3 & 2047;
var11 = (var9 / 8 << 8) + var10 / 8;
for (var12 = 0; var12 < class129.regions.length; ++var12) {
if (class129.regions[var12] == var11 && class28.regionLandArchives[var12] != null) {
byte[] var63 = class28.regionLandArchives[var12];
var14 = var57 * 8;
var15 = var4 * 8;
var16 = (var9 & 7) * 8;
var17 = (var10 & 7) * 8;
var56 = Client.collisionMaps;
for (var19 = 0; var19 < 8; ++var19) {
for (var20 = 0; var20 < 8; ++var20) {
if (var14 + var19 > 0 && var14 + var19 < 103 && var15 + var20 > 0 && var20 + var15 < 103) {
var10000 = var56[var49].flags[var19 + var14];
var10000[var20 + var15] &= -16777217;
}
}
}
var59 = new Buffer(var63);
for (var20 = 0; var20 < 4; ++var20) {
for (var21 = 0; var21 < 64; ++var21) {
for (var22 = 0; var22 < 64; ++var22) {
if (var20 == var7 && var21 >= var16 && var21 < var16 + 8 && var22 >= var17 && var22 < var17 + 8) {
VarpDefinition.loadTerrain(var59, var49, var14 + EnumComposition.method2998(var21 & 7, var22 & 7, var8), var15 + Canvas.method374(var21 & 7, var22 & 7, var8), 0, 0, var8);
} else {
VarpDefinition.loadTerrain(var59, 0, -1, -1, 0, 0, 0);
}
}
}
}
var71 = true;
break;
}
}
}
if (!var71) {
var7 = var49;
var8 = var57 * 8;
var9 = var4 * 8;
for (var10 = 0; var10 < 8; ++var10) {
for (var11 = 0; var11 < 8; ++var11) {
Tiles.Tiles_heights[var7][var8 + var10][var9 + var11] = 0;
}
}
if (var8 > 0) {
for (var10 = 1; var10 < 8; ++var10) {
Tiles.Tiles_heights[var7][var8][var10 + var9] = Tiles.Tiles_heights[var7][var8 - 1][var9 + var10];
}
}
if (var9 > 0) {
for (var10 = 1; var10 < 8; ++var10) {
Tiles.Tiles_heights[var7][var10 + var8][var9] = Tiles.Tiles_heights[var7][var8 + var10][var9 - 1];
}
}
if (var8 > 0 && Tiles.Tiles_heights[var7][var8 - 1][var9] != 0) {
Tiles.Tiles_heights[var7][var8][var9] = Tiles.Tiles_heights[var7][var8 - 1][var9];
} else if (var9 > 0 && Tiles.Tiles_heights[var7][var8][var9 - 1] != 0) {
Tiles.Tiles_heights[var7][var8][var9] = Tiles.Tiles_heights[var7][var8][var9 - 1];
} else if (var8 > 0 && var9 > 0 && Tiles.Tiles_heights[var7][var8 - 1][var9 - 1] != 0) {
Tiles.Tiles_heights[var7][var8][var9] = Tiles.Tiles_heights[var7][var8 - 1][var9 - 1];
}
}
}
}
}
for (var49 = 0; var49 < 13; ++var49) {
for (var57 = 0; var57 < 13; ++var57) {
var4 = Client.instanceChunkTemplates[0][var49][var57];
if (var4 == -1) {
MouseHandler.method586(var49 * 8, var57 * 8, 8, 8);
}
}
}
MouseRecorder.method2075(true);
for (var49 = 0; var49 < 4; ++var49) {
class356.playPcmPlayers();
for (var57 = 0; var57 < 13; ++var57) {
label1200:
for (var4 = 0; var4 < 13; ++var4) {
var5 = Client.instanceChunkTemplates[var49][var57][var4];
if (var5 != -1) {
var6 = var5 >> 24 & 3;
var7 = var5 >> 1 & 3;
var8 = var5 >> 14 & 1023;
var9 = var5 >> 3 & 2047;
var10 = (var8 / 8 << 8) + var9 / 8;
for (var11 = 0; var11 < class129.regions.length; ++var11) {
if (class129.regions[var11] == var10 && Client.regionMapArchives[var11] != null) {
byte[] var58 = Client.regionMapArchives[var11];
var13 = var57 * 8;
var14 = var4 * 8;
var15 = (var8 & 7) * 8;
var16 = (var9 & 7) * 8;
Scene var55 = PlayerComposition.scene;
var56 = Client.collisionMaps;
var59 = new Buffer(var58);
var20 = -1;
while (true) {
var21 = var59.method7037();
if (var21 == 0) {
continue label1200;
}
var20 += var21;
var22 = 0;
while (true) {
var23 = var59.readUShortSmart();
if (var23 == 0) {
break;
}
var22 += var23 - 1;
var24 = var22 & 63;
var25 = var22 >> 6 & 63;
var26 = var22 >> 12;
var27 = var59.readUnsignedByte();
var28 = var27 >> 2;
var29 = var27 & 3;
if (var26 == var6 && var25 >= var15 && var25 < var15 + 8 && var24 >= var16 && var24 < var16 + 8) {
ObjectComposition var60 = class245.getObjectDefinition(var20);
var33 = var25 & 7;
var34 = var24 & 7;
var36 = var60.sizeX;
int var61 = var60.sizeY;
if ((var29 & 1) == 1) {
var53 = var36;
var36 = var61;
var61 = var53;
}
var35 = var7 & 3;
if (var35 == 0) {
var32 = var33;
} else if (var35 == 1) {
var32 = var34;
} else if (var35 == 2) {
var32 = 7 - var33 - (var36 - 1);
} else {
var32 = 7 - var34 - (var61 - 1);
}
var53 = var13 + var32;
var41 = var25 & 7;
var42 = var24 & 7;
var44 = var60.sizeX;
var45 = var60.sizeY;
int var46;
if ((var29 & 1) == 1) {
var46 = var44;
var44 = var45;
var45 = var46;
}
var43 = var7 & 3;
if (var43 == 0) {
var54 = var42;
} else if (var43 == 1) {
var54 = 7 - var41 - (var44 - 1);
} else if (var43 == 2) {
var54 = 7 - var42 - (var45 - 1);
} else {
var54 = var41;
}
var46 = var54 + var14;
if (var53 > 0 && var46 > 0 && var53 < 103 && var46 < 103) {
int var47 = var49;
if ((Tiles.Tiles_renderFlags[1][var53][var46] & 2) == 2) {
var47 = var49 - 1;
}
CollisionMap var48 = null;
if (var47 >= 0) {
var48 = var56[var47];
}
class7.method64(var49, var53, var46, var20, var29 + var7 & 3, var28, var55, var48);
}
}
}
}
}
}
}
}
}
}
}
MouseRecorder.method2075(true);
class356.playPcmPlayers();
Scene var69 = PlayerComposition.scene;
CollisionMap[] var70 = Client.collisionMaps;
for (var4 = 0; var4 < 4; ++var4) {
for (var5 = 0; var5 < 104; ++var5) {
for (var6 = 0; var6 < 104; ++var6) {
if ((Tiles.Tiles_renderFlags[var4][var5][var6] & 1) == 1) {
var7 = var4;
if ((Tiles.Tiles_renderFlags[1][var5][var6] & 2) == 2) {
var7 = var4 - 1;
}
if (var7 >= 0) {
var70[var7].setBlockedByFloor(var5, var6);
}
}
}
}
}
Tiles.rndHue += (int)(Math.random() * 5.0D) - 2;
if (Tiles.rndHue < -8) {
Tiles.rndHue = -8;
}
if (Tiles.rndHue > 8) {
Tiles.rndHue = 8;
}
Tiles.rndLightness += (int)(Math.random() * 5.0D) - 2;
if (Tiles.rndLightness < -16) {
Tiles.rndLightness = -16;
}
if (Tiles.rndLightness > 16) {
Tiles.rndLightness = 16;
}
for (var4 = 0; var4 < 4; ++var4) {
byte[][] var75 = class281.field3323[var4];
var11 = (int)Math.sqrt(5100.0D);
var12 = var11 * 768 >> 8;
for (var13 = 1; var13 < 103; ++var13) {
for (var14 = 1; var14 < 103; ++var14) {
var15 = Tiles.Tiles_heights[var4][var14 + 1][var13] - Tiles.Tiles_heights[var4][var14 - 1][var13];
var16 = Tiles.Tiles_heights[var4][var14][var13 + 1] - Tiles.Tiles_heights[var4][var14][var13 - 1];
var17 = (int)Math.sqrt((double)(var15 * var15 + var16 * var16 + 65536));
var18 = (var15 << 8) / var17;
var19 = 65536 / var17;
var20 = (var16 << 8) / var17;
var21 = (var20 * -50 + var18 * -50 + var19 * -10) / var12 + 96;
var22 = (var75[var14][var13 + 1] >> 3) + (var75[var14 - 1][var13] >> 2) + (var75[var14][var13 - 1] >> 2) + (var75[var14 + 1][var13] >> 3) + (var75[var14][var13] >> 1);
Tiles.field981[var14][var13] = var21 - var22;
}
}
for (var13 = 0; var13 < 104; ++var13) {
class11.Tiles_hue[var13] = 0;
Tiles.Tiles_saturation[var13] = 0;
Tiles.Tiles_lightness[var13] = 0;
Client.Tiles_hueMultiplier[var13] = 0;
Tiles.field984[var13] = 0;
}
for (var13 = -5; var13 < 109; ++var13) {
for (var14 = 0; var14 < 104; ++var14) {
var15 = var13 + 5;
int var10002;
if (var15 >= 0 && var15 < 104) {
var16 = Tiles.Tiles_underlays[var4][var15][var14] & 255;
if (var16 > 0) {
FloorUnderlayDefinition var78 = HealthBar.method2214(var16 - 1);
var10000 = class11.Tiles_hue;
var10000[var14] += var78.hue;
var10000 = Tiles.Tiles_saturation;
var10000[var14] += var78.saturation;
var10000 = Tiles.Tiles_lightness;
var10000[var14] += var78.lightness;
var10000 = Client.Tiles_hueMultiplier;
var10000[var14] += var78.hueMultiplier;
var10002 = Tiles.field984[var14]++;
}
}
var16 = var13 - 5;
if (var16 >= 0 && var16 < 104) {
var17 = Tiles.Tiles_underlays[var4][var16][var14] & 255;
if (var17 > 0) {
FloorUnderlayDefinition var79 = HealthBar.method2214(var17 - 1);
var10000 = class11.Tiles_hue;
var10000[var14] -= var79.hue;
var10000 = Tiles.Tiles_saturation;
var10000[var14] -= var79.saturation;
var10000 = Tiles.Tiles_lightness;
var10000[var14] -= var79.lightness;
var10000 = Client.Tiles_hueMultiplier;
var10000[var14] -= var79.hueMultiplier;
var10002 = Tiles.field984[var14]--;
}
}
}
if (var13 >= 1 && var13 < 103) {
var14 = 0;
var15 = 0;
var16 = 0;
var17 = 0;
var18 = 0;
for (var19 = -5; var19 < 109; ++var19) {
var20 = var19 + 5;
if (var20 >= 0 && var20 < 104) {
var14 += class11.Tiles_hue[var20];
var15 += Tiles.Tiles_saturation[var20];
var16 += Tiles.Tiles_lightness[var20];
var17 += Client.Tiles_hueMultiplier[var20];
var18 += Tiles.field984[var20];
}
var21 = var19 - 5;
if (var21 >= 0 && var21 < 104) {
var14 -= class11.Tiles_hue[var21];
var15 -= Tiles.Tiles_saturation[var21];
var16 -= Tiles.Tiles_lightness[var21];
var17 -= Client.Tiles_hueMultiplier[var21];
var18 -= Tiles.field984[var21];
}
if (var19 >= 1 && var19 < 103 && (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var13][var19] & 2) != 0 || (Tiles.Tiles_renderFlags[var4][var13][var19] & 16) == 0)) {
if (var4 < Tiles.Tiles_minPlane) {
Tiles.Tiles_minPlane = var4;
}
var22 = Tiles.Tiles_underlays[var4][var13][var19] & 255;
var23 = Tiles.Tiles_overlays[var4][var13][var19] & 255;
if (var22 > 0 || var23 > 0) {
var24 = Tiles.Tiles_heights[var4][var13][var19];
var25 = Tiles.Tiles_heights[var4][var13 + 1][var19];
var26 = Tiles.Tiles_heights[var4][var13 + 1][var19 + 1];
var27 = Tiles.Tiles_heights[var4][var13][var19 + 1];
var28 = Tiles.field981[var13][var19];
var29 = Tiles.field981[var13 + 1][var19];
int var30 = Tiles.field981[var13 + 1][var19 + 1];
int var31 = Tiles.field981[var13][var19 + 1];
var32 = -1;
var33 = -1;
if (var22 > 0) {
var34 = var14 * 256 / var17;
var35 = var15 / var18;
var36 = var16 / var18;
var32 = NPCComposition.hslToRgb(var34, var35, var36);
var34 = var34 + Tiles.rndHue & 255;
var36 += Tiles.rndLightness;
if (var36 < 0) {
var36 = 0;
} else if (var36 > 255) {
var36 = 255;
}
var33 = NPCComposition.hslToRgb(var34, var35, var36);
}
FloorOverlayDefinition var37;
if (var4 > 0) {
boolean var73 = true;
if (var22 == 0 && class14.Tiles_shapes[var4][var13][var19] != 0) {
var73 = false;
}
if (var23 > 0) {
var36 = var23 - 1;
var37 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var36);
FloorOverlayDefinition var52;
if (var37 != null) {
var52 = var37;
} else {
byte[] var38 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var36);
var37 = new FloorOverlayDefinition();
if (var38 != null) {
var37.decode(new Buffer(var38), var36);
}
var37.postDecode();
FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var37, (long)var36);
var52 = var37;
}
if (!var52.hideUnderlay) {
var73 = false;
}
}
if (var73 && var25 == var24 && var26 == var24 && var27 == var24) {
var10000 = Huffman.field3203[var4][var13];
var10000[var19] |= 2340;
}
}
var34 = 0;
if (var33 != -1) {
var34 = Rasterizer3D.Rasterizer3D_colorPalette[class128.method2663(var33, 96)];
}
if (var23 == 0) {
var69.addTile(var4, var13, var19, 0, 0, -1, var24, var25, var26, var27, class128.method2663(var32, var28), class128.method2663(var32, var29), class128.method2663(var32, var30), class128.method2663(var32, var31), 0, 0, 0, 0, var34, 0);
} else {
var35 = class14.Tiles_shapes[var4][var13][var19] + 1;
byte var74 = GrandExchangeEvent.field3760[var4][var13][var19];
var53 = var23 - 1;
FloorOverlayDefinition var39 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var53);
if (var39 != null) {
var37 = var39;
} else {
byte[] var40 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var53);
var39 = new FloorOverlayDefinition();
if (var40 != null) {
var39.decode(new Buffer(var40), var53);
}
var39.postDecode();
FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var39, (long)var53);
var37 = var39;
}
var54 = var37.texture;
if (var54 >= 0) {
var42 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var54);
var41 = -1;
} else if (var37.primaryRgb == 16711935) {
var41 = -2;
var54 = -1;
var42 = -2;
} else {
var41 = NPCComposition.hslToRgb(var37.hue, var37.saturation, var37.lightness);
var43 = var37.hue + Tiles.rndHue & 255;
var44 = var37.lightness + Tiles.rndLightness;
if (var44 < 0) {
var44 = 0;
} else if (var44 > 255) {
var44 = 255;
}
var42 = NPCComposition.hslToRgb(var43, var37.saturation, var44);
}
var43 = 0;
if (var42 != -2) {
var43 = Rasterizer3D.Rasterizer3D_colorPalette[MouseHandler.method612(var42, 96)];
}
if (var37.secondaryRgb != -1) {
var44 = var37.secondaryHue + Tiles.rndHue & 255;
var45 = var37.secondaryLightness + Tiles.rndLightness;
if (var45 < 0) {
var45 = 0;
} else if (var45 > 255) {
var45 = 255;
}
var42 = NPCComposition.hslToRgb(var44, var37.secondarySaturation, var45);
var43 = Rasterizer3D.Rasterizer3D_colorPalette[MouseHandler.method612(var42, 96)];
}
var69.addTile(var4, var13, var19, var35, var74, var54, var24, var25, var26, var27, class128.method2663(var32, var28), class128.method2663(var32, var29), class128.method2663(var32, var30), class128.method2663(var32, var31), MouseHandler.method612(var41, var28), MouseHandler.method612(var41, var29), MouseHandler.method612(var41, var30), MouseHandler.method612(var41, var31), var34, var43);
}
}
}
}
}
}
for (var13 = 1; var13 < 103; ++var13) {
for (var14 = 1; var14 < 103; ++var14) {
if ((Tiles.Tiles_renderFlags[var4][var14][var13] & 8) != 0) {
var19 = 0;
} else if (var4 > 0 && (Tiles.Tiles_renderFlags[1][var14][var13] & 2) != 0) {
var19 = var4 - 1;
} else {
var19 = var4;
}
var69.setTileMinPlane(var4, var14, var13, var19);
}
}
Tiles.Tiles_underlays[var4] = null;
Tiles.Tiles_overlays[var4] = null;
class14.Tiles_shapes[var4] = null;
GrandExchangeEvent.field3760[var4] = null;
class281.field3323[var4] = null;
}
var69.method4228(-50, -10, -50);
for (var4 = 0; var4 < 104; ++var4) {
for (var5 = 0; var5 < 104; ++var5) {
if ((Tiles.Tiles_renderFlags[1][var4][var5] & 2) == 2) {
var69.setLinkBelow(var4, var5);
}
}
}
var4 = 1;
var5 = 2;
var6 = 4;
for (var7 = 0; var7 < 4; ++var7) {
if (var7 > 0) {
var4 <<= 3;
var5 <<= 3;
var6 <<= 3;
}
for (var8 = 0; var8 <= var7; ++var8) {
for (var9 = 0; var9 <= 104; ++var9) {
for (var10 = 0; var10 <= 104; ++var10) {
short var72;
if ((Huffman.field3203[var8][var10][var9] & var4) != 0) {
var11 = var9;
var12 = var9;
var13 = var8;
for (var14 = var8; var11 > 0 && (Huffman.field3203[var8][var10][var11 - 1] & var4) != 0; --var11) {
}
while (var12 < 104 && (Huffman.field3203[var8][var10][var12 + 1] & var4) != 0) {
++var12;
}
label928:
while (var13 > 0) {
for (var15 = var11; var15 <= var12; ++var15) {
if ((Huffman.field3203[var13 - 1][var10][var15] & var4) == 0) {
break label928;
}
}
--var13;
}
label917:
while (var14 < var7) {
for (var15 = var11; var15 <= var12; ++var15) {
if ((Huffman.field3203[var14 + 1][var10][var15] & var4) == 0) {
break label917;
}
}
++var14;
}
var15 = (var12 - var11 + 1) * (var14 + 1 - var13);
if (var15 >= 8) {
var72 = 240;
var17 = Tiles.Tiles_heights[var14][var10][var11] - var72;
var18 = Tiles.Tiles_heights[var13][var10][var11];
Scene.Scene_addOccluder(var7, 1, var10 * 128, var10 * 128, var11 * 128, var12 * 128 + 128, var17, var18);
for (var19 = var13; var19 <= var14; ++var19) {
for (var20 = var11; var20 <= var12; ++var20) {
var10000 = Huffman.field3203[var19][var10];
var10000[var20] &= ~var4;
}
}
}
}
if ((Huffman.field3203[var8][var10][var9] & var5) != 0) {
var11 = var10;
var12 = var10;
var13 = var8;
for (var14 = var8; var11 > 0 && (Huffman.field3203[var8][var11 - 1][var9] & var5) != 0; --var11) {
}
while (var12 < 104 && (Huffman.field3203[var8][var12 + 1][var9] & var5) != 0) {
++var12;
}
label981:
while (var13 > 0) {
for (var15 = var11; var15 <= var12; ++var15) {
if ((Huffman.field3203[var13 - 1][var15][var9] & var5) == 0) {
break label981;
}
}
--var13;
}
label970:
while (var14 < var7) {
for (var15 = var11; var15 <= var12; ++var15) {
if ((Huffman.field3203[var14 + 1][var15][var9] & var5) == 0) {
break label970;
}
}
++var14;
}
var15 = (var12 - var11 + 1) * (var14 + 1 - var13);
if (var15 >= 8) {
var72 = 240;
var17 = Tiles.Tiles_heights[var14][var11][var9] - var72;
var18 = Tiles.Tiles_heights[var13][var11][var9];
Scene.Scene_addOccluder(var7, 2, var11 * 128, var12 * 128 + 128, var9 * 128, var9 * 128, var17, var18);
for (var19 = var13; var19 <= var14; ++var19) {
for (var20 = var11; var20 <= var12; ++var20) {
var10000 = Huffman.field3203[var19][var20];
var10000[var9] &= ~var5;
}
}
}
}
if ((Huffman.field3203[var8][var10][var9] & var6) != 0) {
var11 = var10;
var12 = var10;
var13 = var9;
for (var14 = var9; var13 > 0 && (Huffman.field3203[var8][var10][var13 - 1] & var6) != 0; --var13) {
}
while (var14 < 104 && (Huffman.field3203[var8][var10][var14 + 1] & var6) != 0) {
++var14;
}
label1034:
while (var11 > 0) {
for (var15 = var13; var15 <= var14; ++var15) {
if ((Huffman.field3203[var8][var11 - 1][var15] & var6) == 0) {
break label1034;
}
}
--var11;
}
label1023:
while (var12 < 104) {
for (var15 = var13; var15 <= var14; ++var15) {
if ((Huffman.field3203[var8][var12 + 1][var15] & var6) == 0) {
break label1023;
}
}
++var12;
}
if ((var14 - var13 + 1) * (var12 - var11 + 1) >= 4) {
var15 = Tiles.Tiles_heights[var8][var11][var13];
Scene.Scene_addOccluder(var7, 4, var11 * 128, var12 * 128 + 128, var13 * 128, var14 * 128 + 128, var15, var15);
for (var16 = var11; var16 <= var12; ++var16) {
for (var17 = var13; var17 <= var14; ++var17) {
var10000 = Huffman.field3203[var8][var16];
var10000[var17] &= ~var6;
}
}
}
}
}
}
}
}
MouseRecorder.method2075(true);
var4 = Tiles.Tiles_minPlane;
if (var4 > VertexNormal.Client_plane) {
var4 = VertexNormal.Client_plane;
}
if (var4 < VertexNormal.Client_plane - 1) {
var4 = VertexNormal.Client_plane - 1;
}
if (Client.isLowDetail) {
PlayerComposition.scene.init(Tiles.Tiles_minPlane);
} else {
PlayerComposition.scene.init(0);
}
for (var5 = 0; var5 < 104; ++var5) {
for (var6 = 0; var6 < 104; ++var6) {
HealthBarUpdate.updateItemPile(var5, var6);
}
}
class356.playPcmPlayers();
for (PendingSpawn var76 = (PendingSpawn)Client.pendingSpawns.last(); var76 != null; var76 = (PendingSpawn)Client.pendingSpawns.previous()) {
if (var76.hitpoints == -1) {
var76.delay = 0;
Script.method1969(var76);
} else {
var76.remove();
}
}
ObjectComposition.ObjectDefinition_cachedModelData.clear();
PacketBufferNode var77;
if (class21.client.hasFrame()) {
var77 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2723, Client.packetWriter.isaacCipher);
var77.packetBuffer.writeInt(1057001181);
Client.packetWriter.addNode(var77);
}
if (!Client.isInInstance) {
var5 = (HealthBarDefinition.field1671 - 6) / 8;
var6 = (HealthBarDefinition.field1671 + 6) / 8;
var7 = (WorldMapArea.field2053 - 6) / 8;
var8 = (WorldMapArea.field2053 + 6) / 8;
for (var9 = var5 - 1; var9 <= var6 + 1; ++var9) {
for (var10 = var7 - 1; var10 <= var8 + 1; ++var10) {
if (var9 < var5 || var9 > var6 || var10 < var7 || var10 > var8) {
ApproximateRouteStrategy.archive5.loadRegionFromName("m" + var9 + "_" + var10);
ApproximateRouteStrategy.archive5.loadRegionFromName("l" + var9 + "_" + var10);
}
}
}
}
UserList.updateGameState(30);
class356.playPcmPlayers();
SecureRandomCallable.method2036();
var77 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2680, Client.packetWriter.isaacCipher);
Client.packetWriter.addNode(var77);
LoginPacket.clock.mark();
for (var6 = 0; var6 < 32; ++var6) {
GameEngine.graphicsTickTimes[var6] = 0L;
}
for (var6 = 0; var6 < 32; ++var6) {
GameEngine.clientTickTimes[var6] = 0L;
}
GameEngine.gameCyclesToDo = 0;
}
}
}
@ObfuscatedName("jw")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-220787387"
)
static final void method3445() {
PacketBufferNode var0 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2669, Client.packetWriter.isaacCipher);
Client.packetWriter.addNode(var0);
for (InterfaceParent var1 = (InterfaceParent)Client.interfaceParents.first(); var1 != null; var1 = (InterfaceParent)Client.interfaceParents.next()) {
if (var1.type == 0 || var1.type == 3) {
closeInterface(var1, true);
}
}
if (Client.meslayerContinueWidget != null) {
class16.invalidateWidget(Client.meslayerContinueWidget);
Client.meslayerContinueWidget = null;
}
}
@ObfuscatedName("js")
@ObfuscatedSignature(
descriptor = "(Lct;ZS)V",
garbageValue = "-12050"
)
@Export("closeInterface")
static final void closeInterface(InterfaceParent var0, boolean var1) {
int var2 = var0.group;
int var3 = (int)var0.key;
var0.remove();
if (var1 && var2 != -1 && class157.Widget_loadedInterfaces[var2]) {
Widget.Widget_archive.clearFilesGroup(var2);
if (Widget.Widget_interfaceComponents[var2] != null) {
boolean var4 = true;
for (int var5 = 0; var5 < Widget.Widget_interfaceComponents[var2].length; ++var5) {
if (Widget.Widget_interfaceComponents[var2][var5] != null) {
if (Widget.Widget_interfaceComponents[var2][var5].type != 2) {
Widget.Widget_interfaceComponents[var2][var5] = null;
} else {
var4 = false;
}
}
}
if (var4) {
Widget.Widget_interfaceComponents[var2] = null;
}
class157.Widget_loadedInterfaces[var2] = false;
}
}
for (IntegerNode var6 = (IntegerNode)Client.widgetFlags.first(); var6 != null; var6 = (IntegerNode)Client.widgetFlags.next()) {
if ((long)var2 == (var6.key >> 48 & 65535L)) {
var6.remove();
}
}
Widget var7 = HealthBarUpdate.getWidget(var3);
if (var7 != null) {
class16.invalidateWidget(var7);
}
class132.method2699();
if (Client.rootInterface != -1) {
ItemContainer.runIntfCloseListeners(Client.rootInterface, 1);
}
}
}