import java.security.SecureRandom; 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; import net.runelite.rs.ScriptOpcodes; @ObfuscatedName("av") @Implements("WorldMapID") public class WorldMapID { @ObfuscatedName("z") @ObfuscatedSignature( descriptor = "Lav;" ) static final WorldMapID field291; @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "Lav;" ) static final WorldMapID field288; @ObfuscatedName("t") @Export("Interpreter_stringLocals") static String[] Interpreter_stringLocals; @ObfuscatedName("i") @ObfuscatedGetter( intValue = 658473583 ) @Export("clientType") public static int clientType; @ObfuscatedName("dl") @ObfuscatedSignature( descriptor = "Liw;" ) @Export("archive3") static Archive archive3; @ObfuscatedName("ev") @Export("secureRandom") static SecureRandom secureRandom; @ObfuscatedName("s") @ObfuscatedGetter( intValue = 563184905 ) @Export("value") final int value; static { field291 = new WorldMapID(0); // L: 4 field288 = new WorldMapID(1); // L: 5 } WorldMapID(int var1) { this.value = var1; // L: 9 } // L: 10 @ObfuscatedName("e") @ObfuscatedSignature( descriptor = "(ILcy;ZI)I", garbageValue = "1634458310" ) static int method617(int var0, Script var1, boolean var2) { if (var0 == ScriptOpcodes.SOUND_SYNTH) { // L: 1705 Interpreter.Interpreter_intStackSize -= 3; // L: 1706 class7.queueSoundEffect(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize], Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1], Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]); // L: 1707 return 1; // L: 1708 } else if (var0 == ScriptOpcodes.SOUND_SONG) { // L: 1710 WorldMapCacheName.playSong(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); // L: 1711 return 1; // L: 1712 } else if (var0 == ScriptOpcodes.SOUND_JINGLE) { // L: 1714 Interpreter.Interpreter_intStackSize -= 2; // L: 1715 class298.playSoundJingle(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize], Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); // L: 1716 return 1; // L: 1717 } else { return 2; // L: 1719 } } @ObfuscatedName("gd") @ObfuscatedSignature( descriptor = "(IIIII)V", garbageValue = "1747274457" ) static final void method616(int var0, int var1, int var2, int var3) { Client.overheadTextCount = 0; // L: 4841 boolean var4 = false; // L: 4842 int var5 = -1; // L: 4843 int var6 = -1; // L: 4844 int var7 = Players.Players_count; // L: 4845 int[] var8 = Players.Players_indices; // L: 4846 int var9; for (var9 = 0; var9 < var7 + Client.npcCount; ++var9) { // L: 4847 Object var20; if (var9 < var7) { // L: 4849 var20 = Client.players[var8[var9]]; // L: 4850 if (var8[var9] == Client.combatTargetPlayerIndex) { // L: 4851 var4 = true; // L: 4852 var5 = var9; // L: 4853 continue; } if (var20 == WorldMapLabelSize.localPlayer) { // L: 4856 var6 = var9; // L: 4857 continue; // L: 4858 } } else { var20 = Client.npcs[Client.npcIndices[var9 - var7]]; // L: 4861 } GrandExchangeOfferNameComparator.drawActor2d((Actor)var20, var9, var0, var1, var2, var3); // L: 4862 } if (Client.renderSelf && var6 != -1) { // L: 4864 GrandExchangeOfferNameComparator.drawActor2d(WorldMapLabelSize.localPlayer, var6, var0, var1, var2, var3); // L: 4865 } if (var4) { // L: 4867 GrandExchangeOfferNameComparator.drawActor2d(Client.players[Client.combatTargetPlayerIndex], var5, var0, var1, var2, var3); // L: 4868 } for (var9 = 0; var9 < Client.overheadTextCount; ++var9) { // L: 4870 int var10 = Client.overheadTextXs[var9]; // L: 4871 int var11 = Client.overheadTextYs[var9]; // L: 4872 int var12 = Client.overheadTextXOffsets[var9]; // L: 4873 int var13 = Client.overheadTextAscents[var9]; // L: 4874 boolean var14 = true; // L: 4875 while (var14) { var14 = false; // L: 4877 for (int var19 = 0; var19 < var9; ++var19) { // L: 4878 if (var11 + 2 > Client.overheadTextYs[var19] - Client.overheadTextAscents[var19] && var11 - var13 < Client.overheadTextYs[var19] + 2 && var10 - var12 < Client.overheadTextXs[var19] + Client.overheadTextXOffsets[var19] && var12 + var10 > Client.overheadTextXs[var19] - Client.overheadTextXOffsets[var19] && Client.overheadTextYs[var19] - Client.overheadTextAscents[var19] < var11) { // L: 4879 4880 var11 = Client.overheadTextYs[var19] - Client.overheadTextAscents[var19]; // L: 4881 var14 = true; // L: 4882 } } } Client.viewportTempX = Client.overheadTextXs[var9]; // L: 4887 Client.viewportTempY = Client.overheadTextYs[var9] = var11; // L: 4888 String var15 = Client.overheadText[var9]; // L: 4889 if (Client.chatEffects == 0) { // L: 4890 int var16 = 16776960; // L: 4891 if (Client.overheadTextColors[var9] < 6) { // L: 4892 var16 = Client.field892[Client.overheadTextColors[var9]]; } if (Client.overheadTextColors[var9] == 6) { // L: 4893 var16 = Client.viewportDrawCount % 20 < 10 ? 16711680 : 16776960; } if (Client.overheadTextColors[var9] == 7) { // L: 4894 var16 = Client.viewportDrawCount % 20 < 10 ? 255 : '\uffff'; } if (Client.overheadTextColors[var9] == 8) { // L: 4895 var16 = Client.viewportDrawCount % 20 < 10 ? '뀀' : 8454016; } int var17; if (Client.overheadTextColors[var9] == 9) { // L: 4896 var17 = 150 - Client.overheadTextCyclesRemaining[var9]; // L: 4897 if (var17 < 50) { // L: 4898 var16 = var17 * 1280 + 16711680; } else if (var17 < 100) { // L: 4899 var16 = 16776960 - (var17 - 50) * 327680; } else if (var17 < 150) { // L: 4900 var16 = (var17 - 100) * 5 + 65280; } } if (Client.overheadTextColors[var9] == 10) { // L: 4902 var17 = 150 - Client.overheadTextCyclesRemaining[var9]; // L: 4903 if (var17 < 50) { // L: 4904 var16 = var17 * 5 + 16711680; } else if (var17 < 100) { // L: 4905 var16 = 16711935 - (var17 - 50) * 327680; } else if (var17 < 150) { // L: 4906 var16 = (var17 - 100) * 327680 + 255 - (var17 - 100) * 5; } } if (Client.overheadTextColors[var9] == 11) { // L: 4908 var17 = 150 - Client.overheadTextCyclesRemaining[var9]; // L: 4909 if (var17 < 50) { // L: 4910 var16 = 16777215 - var17 * 327685; } else if (var17 < 100) { // L: 4911 var16 = (var17 - 50) * 327685 + 65280; } else if (var17 < 150) { // L: 4912 var16 = 16777215 - (var17 - 100) * 327680; } } if (Client.overheadTextEffects[var9] == 0) { // L: 4914 class4.fontBold12.drawCentered(var15, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0); } if (Client.overheadTextEffects[var9] == 1) { // L: 4915 class4.fontBold12.drawCenteredWave(var15, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount); } if (Client.overheadTextEffects[var9] == 2) { // L: 4916 class4.fontBold12.drawCenteredWave2(var15, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount); } if (Client.overheadTextEffects[var9] == 3) { // L: 4917 class4.fontBold12.drawCenteredShake(var15, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var9]); } if (Client.overheadTextEffects[var9] == 4) { // L: 4918 var17 = (150 - Client.overheadTextCyclesRemaining[var9]) * (class4.fontBold12.stringWidth(var15) + 100) / 150; // L: 4919 Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); // L: 4920 class4.fontBold12.draw(var15, var0 + Client.viewportTempX + 50 - var17, Client.viewportTempY + var1, var16, 0); // L: 4921 Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); // L: 4922 } if (Client.overheadTextEffects[var9] == 5) { // L: 4924 var17 = 150 - Client.overheadTextCyclesRemaining[var9]; // L: 4925 int var18 = 0; // L: 4926 if (var17 < 25) { // L: 4927 var18 = var17 - 25; } else if (var17 > 125) { // L: 4928 var18 = var17 - 125; } Rasterizer2D.Rasterizer2D_expandClip(var0, Client.viewportTempY + var1 - class4.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); // L: 4929 class4.fontBold12.drawCentered(var15, var0 + Client.viewportTempX, var18 + Client.viewportTempY + var1, var16, 0); // L: 4930 Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); // L: 4931 } } else { class4.fontBold12.drawCentered(var15, var0 + Client.viewportTempX, Client.viewportTempY + var1, 16776960, 0); // L: 4935 } } } // L: 4938 @ObfuscatedName("gt") @ObfuscatedSignature( descriptor = "(ZLky;B)V", garbageValue = "45" ) @Export("loadRegions") static final void loadRegions(boolean var0, PacketBuffer var1) { Client.isInInstance = var0; // L: 4988 int var2; int var3; int var5; int var6; int var7; int var8; if (!Client.isInInstance) { // L: 4989 var2 = var1.method5655(); // L: 4990 var3 = var1.method5656(); // L: 4991 int var4 = var1.readUnsignedShort(); // L: 4992 BoundaryObject.xteaKeys = new int[var4][4]; // L: 4993 for (var5 = 0; var5 < var4; ++var5) { // L: 4994 for (var6 = 0; var6 < 4; ++var6) { // L: 4995 BoundaryObject.xteaKeys[var5][var6] = var1.readInt(); // L: 4996 } } class90.regions = new int[var4]; // L: 4999 GrandExchangeEvents.regionMapArchiveIds = new int[var4]; // L: 5000 Skeleton.regionLandArchiveIds = new int[var4]; // L: 5001 AbstractUserComparator.regionLandArchives = new byte[var4][]; // L: 5002 AbstractWorldMapData.regionMapArchives = new byte[var4][]; // L: 5003 boolean var16 = false; // L: 5004 if ((var2 / 8 == 48 || var2 / 8 == 49) && var3 / 8 == 48) { // L: 5005 var16 = true; } if (var2 / 8 == 48 && var3 / 8 == 148) { // L: 5006 var16 = true; } var4 = 0; // L: 5007 for (var6 = (var2 - 6) / 8; var6 <= (var2 + 6) / 8; ++var6) { // L: 5008 for (var7 = (var3 - 6) / 8; var7 <= (var3 + 6) / 8; ++var7) { // L: 5009 var8 = var7 + (var6 << 8); // L: 5010 if (!var16 || var7 != 49 && var7 != 149 && var7 != 147 && var6 != 50 && (var6 != 49 || var7 != 47)) { // L: 5011 class90.regions[var4] = var8; // L: 5012 GrandExchangeEvents.regionMapArchiveIds[var4] = WorldMapLabel.archive5.getGroupId("m" + var6 + "_" + var7); // L: 5013 Skeleton.regionLandArchiveIds[var4] = WorldMapLabel.archive5.getGroupId("l" + var6 + "_" + var7); // L: 5014 ++var4; // L: 5015 } } } Varps.method4067(var2, var3, true); // L: 5018 } else { var2 = var1.readUnsignedShort(); // L: 5021 var3 = var1.method5656(); // L: 5022 boolean var15 = var1.method5646() == 1; // L: 5023 var5 = var1.readUnsignedShort(); // L: 5024 var1.importIndex(); // L: 5025 int var9; for (var6 = 0; var6 < 4; ++var6) { // L: 5026 for (var7 = 0; var7 < 13; ++var7) { // L: 5027 for (var8 = 0; var8 < 13; ++var8) { // L: 5028 var9 = var1.readBits(1); // L: 5029 if (var9 == 1) { Client.instanceChunkTemplates[var6][var7][var8] = var1.readBits(26); // L: 5030 } else { Client.instanceChunkTemplates[var6][var7][var8] = -1; // L: 5031 } } } } var1.exportIndex(); // L: 5035 BoundaryObject.xteaKeys = new int[var5][4]; // L: 5036 for (var6 = 0; var6 < var5; ++var6) { // L: 5037 for (var7 = 0; var7 < 4; ++var7) { // L: 5038 BoundaryObject.xteaKeys[var6][var7] = var1.readInt(); // L: 5039 } } class90.regions = new int[var5]; // L: 5042 GrandExchangeEvents.regionMapArchiveIds = new int[var5]; // L: 5043 Skeleton.regionLandArchiveIds = new int[var5]; // L: 5044 AbstractUserComparator.regionLandArchives = new byte[var5][]; // L: 5045 AbstractWorldMapData.regionMapArchives = new byte[var5][]; // L: 5046 var5 = 0; // L: 5047 for (var6 = 0; var6 < 4; ++var6) { // L: 5048 for (var7 = 0; var7 < 13; ++var7) { // L: 5049 for (var8 = 0; var8 < 13; ++var8) { // L: 5050 var9 = Client.instanceChunkTemplates[var6][var7][var8]; // L: 5051 if (var9 != -1) { // L: 5052 int var10 = var9 >> 14 & 1023; // L: 5053 int var11 = var9 >> 3 & 2047; // L: 5054 int var12 = (var10 / 8 << 8) + var11 / 8; // L: 5055 int var13; for (var13 = 0; var13 < var5; ++var13) { // L: 5056 if (class90.regions[var13] == var12) { var12 = -1; // L: 5057 break; // L: 5058 } } if (var12 != -1) { // L: 5060 class90.regions[var5] = var12; // L: 5061 var13 = var12 >> 8 & 255; // L: 5062 int var14 = var12 & 255; // L: 5063 GrandExchangeEvents.regionMapArchiveIds[var5] = WorldMapLabel.archive5.getGroupId("m" + var13 + "_" + var14); // L: 5064 Skeleton.regionLandArchiveIds[var5] = WorldMapLabel.archive5.getGroupId("l" + var13 + "_" + var14); // L: 5065 ++var5; // L: 5066 } } } } } Varps.method4067(var3, var2, !var15); // L: 5072 } } // L: 5074 }