140 lines
3.3 KiB
Java
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);
|
|
}
|
|
|
|
}
|
|
}
|