Files
runelite/runescape-client/src/main/java/WorldMapID.java
2020-08-26 21:11:23 +01:00

364 lines
13 KiB
Java

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
}