475 lines
9.9 KiB
Java
475 lines
9.9 KiB
Java
import java.awt.Image;
|
|
import java.util.Iterator;
|
|
import java.util.LinkedList;
|
|
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("as")
|
|
@Implements("WorldMapArea")
|
|
public class WorldMapArea {
|
|
@ObfuscatedName("al")
|
|
static Image field265;
|
|
@ObfuscatedName("gn")
|
|
@Export("regionLandArchiveIds")
|
|
static int[] regionLandArchiveIds;
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedGetter(
|
|
intValue = -631635031
|
|
)
|
|
@Export("id")
|
|
int id;
|
|
@ObfuscatedName("m")
|
|
@Export("internalName")
|
|
String internalName;
|
|
@ObfuscatedName("k")
|
|
@Export("externalName")
|
|
String externalName;
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedGetter(
|
|
intValue = -46653521
|
|
)
|
|
@Export("backGroundColor")
|
|
int backGroundColor;
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedGetter(
|
|
intValue = 1356940577
|
|
)
|
|
@Export("zoom")
|
|
int zoom;
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "Lhj;"
|
|
)
|
|
@Export("origin")
|
|
Coord origin;
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedGetter(
|
|
intValue = 739572021
|
|
)
|
|
@Export("regionLowX")
|
|
int regionLowX;
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedGetter(
|
|
intValue = -1052240037
|
|
)
|
|
@Export("regionHighX")
|
|
int regionHighX;
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedGetter(
|
|
intValue = -1837208227
|
|
)
|
|
@Export("regionLowY")
|
|
int regionLowY;
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedGetter(
|
|
intValue = -884560367
|
|
)
|
|
@Export("regionHighY")
|
|
int regionHighY;
|
|
@ObfuscatedName("s")
|
|
@Export("isMain")
|
|
boolean isMain;
|
|
@ObfuscatedName("p")
|
|
@Export("sections")
|
|
LinkedList sections;
|
|
|
|
public WorldMapArea() {
|
|
this.id = -1;
|
|
this.backGroundColor = -1;
|
|
this.zoom = -1;
|
|
this.origin = null;
|
|
this.regionLowX = Integer.MAX_VALUE;
|
|
this.regionHighX = 0;
|
|
this.regionLowY = Integer.MAX_VALUE;
|
|
this.regionHighY = 0;
|
|
this.isMain = false;
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lkb;IB)V",
|
|
garbageValue = "9"
|
|
)
|
|
@Export("read")
|
|
public void read(Buffer var1, int var2) {
|
|
this.id = var2;
|
|
this.internalName = var1.readStringCp1252NullTerminated();
|
|
this.externalName = var1.readStringCp1252NullTerminated();
|
|
this.origin = new Coord(var1.readInt());
|
|
this.backGroundColor = var1.readInt();
|
|
var1.readUnsignedByte();
|
|
this.isMain = var1.readUnsignedByte() == 1;
|
|
this.zoom = var1.readUnsignedByte();
|
|
int var3 = var1.readUnsignedByte();
|
|
this.sections = new LinkedList();
|
|
|
|
for (int var4 = 0; var4 < var3; ++var4) {
|
|
this.sections.add(this.readWorldMapSection(var1));
|
|
}
|
|
|
|
this.setBounds();
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lkb;I)Lay;",
|
|
garbageValue = "647857344"
|
|
)
|
|
@Export("readWorldMapSection")
|
|
WorldMapSection readWorldMapSection(Buffer var1) {
|
|
int var2 = var1.readUnsignedByte();
|
|
WorldMapSectionType var3 = (WorldMapSectionType)GrandExchangeEvent.findEnumerated(WorldMapSectionType.method345(), var2);
|
|
Object var4 = null;
|
|
switch(var3.type) {
|
|
case 0:
|
|
var4 = new WorldMapSection0();
|
|
break;
|
|
case 1:
|
|
var4 = new WorldMapSection3();
|
|
break;
|
|
case 2:
|
|
var4 = new WorldMapSection1();
|
|
break;
|
|
case 3:
|
|
var4 = new WorldMapSection2();
|
|
break;
|
|
default:
|
|
throw new IllegalStateException("");
|
|
}
|
|
|
|
((WorldMapSection)var4).read(var1);
|
|
return (WorldMapSection)var4;
|
|
}
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIB)Z",
|
|
garbageValue = "-47"
|
|
)
|
|
@Export("containsCoord")
|
|
public boolean containsCoord(int var1, int var2, int var3) {
|
|
Iterator var4 = this.sections.iterator();
|
|
|
|
WorldMapSection var5;
|
|
do {
|
|
if (!var4.hasNext()) {
|
|
return false;
|
|
}
|
|
|
|
var5 = (WorldMapSection)var4.next();
|
|
} while(!var5.containsCoord(var1, var2, var3));
|
|
|
|
return true;
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "(III)Z",
|
|
garbageValue = "-541055130"
|
|
)
|
|
@Export("containsPosition")
|
|
public boolean containsPosition(int var1, int var2) {
|
|
int var3 = var1 / 64;
|
|
int var4 = var2 / 64;
|
|
if (var3 >= this.regionLowX && var3 <= this.regionHighX) {
|
|
if (var4 >= this.regionLowY && var4 <= this.regionHighY) {
|
|
Iterator var5 = this.sections.iterator();
|
|
|
|
WorldMapSection var6;
|
|
do {
|
|
if (!var5.hasNext()) {
|
|
return false;
|
|
}
|
|
|
|
var6 = (WorldMapSection)var5.next();
|
|
} while(!var6.containsPosition(var1, var2));
|
|
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIB)[I",
|
|
garbageValue = "-62"
|
|
)
|
|
@Export("position")
|
|
public int[] position(int var1, int var2, int var3) {
|
|
Iterator var4 = this.sections.iterator();
|
|
|
|
WorldMapSection var5;
|
|
do {
|
|
if (!var4.hasNext()) {
|
|
return null;
|
|
}
|
|
|
|
var5 = (WorldMapSection)var4.next();
|
|
} while(!var5.containsCoord(var1, var2, var3));
|
|
|
|
return var5.getBorderTileLengths(var1, var2, var3);
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIB)Lhj;",
|
|
garbageValue = "-65"
|
|
)
|
|
@Export("coord")
|
|
public Coord coord(int var1, int var2) {
|
|
Iterator var3 = this.sections.iterator();
|
|
|
|
WorldMapSection var4;
|
|
do {
|
|
if (!var3.hasNext()) {
|
|
return null;
|
|
}
|
|
|
|
var4 = (WorldMapSection)var3.next();
|
|
} while(!var4.containsPosition(var1, var2));
|
|
|
|
return var4.coord(var1, var2);
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "969855429"
|
|
)
|
|
@Export("setBounds")
|
|
void setBounds() {
|
|
Iterator var1 = this.sections.iterator();
|
|
|
|
while (var1.hasNext()) {
|
|
WorldMapSection var2 = (WorldMapSection)var1.next();
|
|
var2.expandBounds(this);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "39"
|
|
)
|
|
@Export("getId")
|
|
public int getId() {
|
|
return this.id;
|
|
}
|
|
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)Z",
|
|
garbageValue = "-126"
|
|
)
|
|
@Export("getIsMain")
|
|
public boolean getIsMain() {
|
|
return this.isMain;
|
|
}
|
|
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)Ljava/lang/String;",
|
|
garbageValue = "76"
|
|
)
|
|
@Export("getInternalName")
|
|
public String getInternalName() {
|
|
return this.internalName;
|
|
}
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ljava/lang/String;",
|
|
garbageValue = "1379257785"
|
|
)
|
|
@Export("getExternalName")
|
|
public String getExternalName() {
|
|
return this.externalName;
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "0"
|
|
)
|
|
@Export("getBackGroundColor")
|
|
int getBackGroundColor() {
|
|
return this.backGroundColor;
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "2036158074"
|
|
)
|
|
@Export("getZoom")
|
|
public int getZoom() {
|
|
return this.zoom;
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1003198197"
|
|
)
|
|
@Export("getRegionLowX")
|
|
public int getRegionLowX() {
|
|
return this.regionLowX;
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-1380383839"
|
|
)
|
|
@Export("getRegionHighX")
|
|
public int getRegionHighX() {
|
|
return this.regionHighX;
|
|
}
|
|
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1596015720"
|
|
)
|
|
@Export("getRegionLowY")
|
|
public int getRegionLowY() {
|
|
return this.regionLowY;
|
|
}
|
|
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "851351546"
|
|
)
|
|
@Export("getRegionHighY")
|
|
public int getRegionHighY() {
|
|
return this.regionHighY;
|
|
}
|
|
|
|
@ObfuscatedName("a")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-2108645613"
|
|
)
|
|
@Export("getOriginX")
|
|
public int getOriginX() {
|
|
return this.origin.x;
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "567530142"
|
|
)
|
|
@Export("getOriginPlane")
|
|
public int getOriginPlane() {
|
|
return this.origin.plane;
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "-86"
|
|
)
|
|
@Export("getOriginY")
|
|
public int getOriginY() {
|
|
return this.origin.y;
|
|
}
|
|
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Lhj;",
|
|
garbageValue = "710873415"
|
|
)
|
|
@Export("getOrigin")
|
|
public Coord getOrigin() {
|
|
return new Coord(this.origin);
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "2135191334"
|
|
)
|
|
@Export("savePreferences")
|
|
static void savePreferences() {
|
|
AccessFile var0 = null;
|
|
|
|
try {
|
|
var0 = KeyHandler.getPreferencesFile("", WorldMapArchiveLoader.field3965.name, true);
|
|
Buffer var1 = GrandExchangeOfferOwnWorldComparator.clientPreferences.toBuffer();
|
|
var0.write(var1.array, 0, var1.offset);
|
|
} catch (Exception var3) {
|
|
}
|
|
|
|
try {
|
|
if (var0 != null) {
|
|
var0.closeSync(true);
|
|
}
|
|
} catch (Exception var2) {
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(ILiy;Ljava/lang/String;Ljava/lang/String;IZI)V",
|
|
garbageValue = "350541226"
|
|
)
|
|
public static void method461(int var0, AbstractArchive var1, String var2, String var3, int var4, boolean var5) {
|
|
int var6 = var1.getGroupId(var2);
|
|
int var7 = var1.getFileId(var6, var3);
|
|
FaceNormal.playMusicTrack(var0, var1, var6, var7, var4, var5);
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIIB)Ljava/lang/String;",
|
|
garbageValue = "-16"
|
|
)
|
|
@Export("decodeStringCp1252")
|
|
public static String decodeStringCp1252(byte[] var0, int var1, int var2) {
|
|
char[] var3 = new char[var2];
|
|
int var4 = 0;
|
|
|
|
for (int var5 = 0; var5 < var2; ++var5) {
|
|
int var6 = var0[var5 + var1] & 255;
|
|
if (var6 != 0) {
|
|
if (var6 >= 128 && var6 < 160) {
|
|
char var7 = class297.cp1252AsciiExtension[var6 - 128];
|
|
if (var7 == 0) {
|
|
var7 = '?';
|
|
}
|
|
|
|
var6 = var7;
|
|
}
|
|
|
|
var3[var4++] = (char)var6;
|
|
}
|
|
}
|
|
|
|
return new String(var3, 0, var4);
|
|
}
|
|
|
|
@ObfuscatedName("gw")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "749778877"
|
|
)
|
|
static void method508() {
|
|
if (GrandExchangeOfferAgeComparator.worldMap != null) {
|
|
GrandExchangeOfferAgeComparator.worldMap.method6524(ScriptEvent.Client_plane, (ByteArrayPool.localPlayer.x >> 7) + class69.baseX, (ByteArrayPool.localPlayer.y >> 7) + class89.baseY, false);
|
|
GrandExchangeOfferAgeComparator.worldMap.loadCache();
|
|
}
|
|
|
|
}
|
|
}
|