Files
runelite/runescape-client/src/main/java/WorldMapAreaData.java
2020-03-26 14:17:06 +00:00

140 lines
3.3 KiB
Java

import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("ad")
@Implements("WorldMapAreaData")
public class WorldMapAreaData extends WorldMapArea {
@ObfuscatedName("hc")
@ObfuscatedSignature(
signature = "[Lla;"
)
@Export("mapMarkerSprites")
static Sprite[] mapMarkerSprites;
@ObfuscatedName("n")
@Export("worldMapData0Set")
HashSet worldMapData0Set;
@ObfuscatedName("u")
@Export("worldMapData1Set")
HashSet worldMapData1Set;
@ObfuscatedName("h")
@Export("iconList")
List iconList;
WorldMapAreaData() {
}
@ObfuscatedName("by")
@ObfuscatedSignature(
signature = "(Lkb;Lkb;IZI)V",
garbageValue = "-661163942"
)
@Export("init")
void init(Buffer var1, Buffer var2, int var3, boolean var4) {
this.read(var1, var3);
int var5 = var2.readUnsignedShort();
this.worldMapData0Set = new HashSet(var5);
int var6;
for (var6 = 0; var6 < var5; ++var6) {
WorldMapData_0 var7 = new WorldMapData_0();
try {
var7.init(var2);
} catch (IllegalStateException var12) {
continue;
}
this.worldMapData0Set.add(var7);
}
var6 = var2.readUnsignedShort();
this.worldMapData1Set = new HashSet(var6);
for (int var10 = 0; var10 < var6; ++var10) {
WorldMapData_1 var8 = new WorldMapData_1();
try {
var8.init(var2);
} catch (IllegalStateException var11) {
continue;
}
this.worldMapData1Set.add(var8);
}
this.initIconsList(var2, var4);
}
@ObfuscatedName("bj")
@ObfuscatedSignature(
signature = "(Lkb;ZI)V",
garbageValue = "1078269638"
)
@Export("initIconsList")
void initIconsList(Buffer var1, boolean var2) {
this.iconList = new LinkedList();
int var3 = var1.readUnsignedShort();
for (int var4 = 0; var4 < var3; ++var4) {
int var5 = var1.method5591();
Coord var6 = new Coord(var1.readInt());
boolean var7 = var1.readUnsignedByte() == 1;
if (var2 || !var7) {
this.iconList.add(new WorldMapIcon_0((Coord)null, var6, var5, (WorldMapLabel)null));
}
}
}
@ObfuscatedName("is")
@ObfuscatedSignature(
signature = "(Lhe;IIZS)V",
garbageValue = "11869"
)
@Export("alignWidgetSize")
static void alignWidgetSize(Widget var0, int var1, int var2, boolean var3) {
int var4 = var0.width;
int var5 = var0.height;
if (var0.widthAlignment == 0) {
var0.width = var0.rawWidth;
} else if (var0.widthAlignment == 1) {
var0.width = var1 - var0.rawWidth;
} else if (var0.widthAlignment == 2) {
var0.width = var0.rawWidth * var1 >> 14;
}
if (var0.heightAlignment == 0) {
var0.height = var0.rawHeight;
} else if (var0.heightAlignment == 1) {
var0.height = var2 - var0.rawHeight;
} else if (var0.heightAlignment == 2) {
var0.height = var2 * var0.rawHeight >> 14;
}
if (var0.widthAlignment == 4) {
var0.width = var0.field2584 * var0.height / var0.field2585;
}
if (var0.heightAlignment == 4) {
var0.height = var0.field2585 * var0.width / var0.field2584;
}
if (var0.contentType == 1337) {
Client.viewportWidget = var0;
}
if (var3 && var0.onResize != null && (var4 != var0.width || var5 != var0.height)) {
ScriptEvent var6 = new ScriptEvent();
var6.widget = var0;
var6.args = var0.onResize;
Client.scriptEvents.addFirst(var6);
}
}
}