Files
runelite/runescape-client/src/main/java/WorldMapArea.java
Owain van Brakel 3834b46aee project: Rev 204
2022-03-23 15:01:48 +01:00

418 lines
9.1 KiB
Java

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("hw")
@Implements("WorldMapArea")
public class WorldMapArea {
@ObfuscatedName("v")
@ObfuscatedGetter(
intValue = -1768774525
)
@Export("id")
int id;
@ObfuscatedName("o")
@Export("internalName")
String internalName;
@ObfuscatedName("h")
@Export("externalName")
String externalName;
@ObfuscatedName("g")
@ObfuscatedGetter(
intValue = 204385687
)
@Export("backGroundColor")
int backGroundColor;
@ObfuscatedName("l")
@ObfuscatedGetter(
intValue = 187513979
)
@Export("zoom")
int zoom;
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "Lko;"
)
@Export("origin")
Coord origin;
@ObfuscatedName("d")
@ObfuscatedGetter(
intValue = 892660861
)
@Export("regionLowX")
int regionLowX;
@ObfuscatedName("f")
@ObfuscatedGetter(
intValue = 819856267
)
@Export("regionHighX")
int regionHighX;
@ObfuscatedName("u")
@ObfuscatedGetter(
intValue = 1961417227
)
@Export("regionLowY")
int regionLowY;
@ObfuscatedName("r")
@ObfuscatedGetter(
intValue = -439163167
)
@Export("regionHighY")
int regionHighY;
@ObfuscatedName("k")
@Export("isMain")
boolean isMain;
@ObfuscatedName("x")
@Export("sections")
LinkedList sections;
public WorldMapArea() {
this.id = -1; // L: 9
this.backGroundColor = -1; // L: 12
this.zoom = -1; // L: 13
this.origin = null; // L: 14
this.regionLowX = Integer.MAX_VALUE; // L: 15
this.regionHighX = 0; // L: 16
this.regionLowY = Integer.MAX_VALUE; // L: 17
this.regionHighY = 0; // L: 18
this.isMain = false; // L: 19
}
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(Lpd;II)V",
garbageValue = "-1643256237"
)
@Export("read")
public void read(Buffer var1, int var2) {
this.id = var2; // L: 23
this.internalName = var1.readStringCp1252NullTerminated(); // L: 24
this.externalName = var1.readStringCp1252NullTerminated(); // L: 25
this.origin = new Coord(var1.readInt()); // L: 26
this.backGroundColor = var1.readInt(); // L: 27
var1.readUnsignedByte(); // L: 28
this.isMain = var1.readUnsignedByte() == 1; // L: 29
this.zoom = var1.readUnsignedByte(); // L: 30
int var3 = var1.readUnsignedByte();
this.sections = new LinkedList();
for (int var4 = 0; var4 < var3; ++var4) {
this.sections.add(this.readWorldMapSection(var1));
}
this.setBounds();
}
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "(Lpd;B)Lik;",
garbageValue = "-51"
)
@Export("readWorldMapSection")
WorldMapSection readWorldMapSection(Buffer var1) {
int var2 = var1.readUnsignedByte();
WorldMapSectionType var3 = (WorldMapSectionType)ChatChannel.findEnumerated(WorldMapSectionType.method4949(), var2);
Object var4 = null;
switch(var3.type) {
case 0:
var4 = new class229();
break;
case 1:
var4 = new WorldMapSection0(); // L: 50
break;
case 2:
var4 = new WorldMapSection2(); // L: 56
break;
case 3:
var4 = new WorldMapSection1(); // L: 53
break; // L: 54
default:
throw new IllegalStateException(""); // L: 48
}
((WorldMapSection)var4).read(var1); // L: 59
return (WorldMapSection)var4; // L: 60
}
@ObfuscatedName("h")
@ObfuscatedSignature(
descriptor = "(IIIB)Z",
garbageValue = "-79"
)
@Export("containsCoord")
public boolean containsCoord(int var1, int var2, int var3) {
Iterator var4 = this.sections.iterator(); // L: 64
WorldMapSection var5;
do {
if (!var4.hasNext()) {
return false; // L: 72
}
var5 = (WorldMapSection)var4.next(); // L: 65
} while(!var5.containsCoord(var1, var2, var3)); // L: 67
return true; // L: 68
}
@ObfuscatedName("g")
@ObfuscatedSignature(
descriptor = "(IIB)Z",
garbageValue = "-77"
)
@Export("containsPosition")
public boolean containsPosition(int var1, int var2) {
int var3 = var1 / 64; // L: 76
int var4 = var2 / 64; // L: 77
if (var3 >= this.regionLowX && var3 <= this.regionHighX) { // L: 78
if (var4 >= this.regionLowY && var4 <= this.regionHighY) { // L: 79
Iterator var5 = this.sections.iterator(); // L: 80
WorldMapSection var6;
do {
if (!var5.hasNext()) {
return false; // L: 88
}
var6 = (WorldMapSection)var5.next(); // L: 81
} while(!var6.containsPosition(var1, var2)); // L: 83
return true; // L: 84
} else {
return false;
}
} else {
return false;
}
}
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "(IIIB)[I",
garbageValue = "-25"
)
@Export("position")
public int[] position(int var1, int var2, int var3) {
Iterator var4 = this.sections.iterator(); // L: 92
WorldMapSection var5;
do {
if (!var4.hasNext()) {
return null; // L: 100
}
var5 = (WorldMapSection)var4.next(); // L: 93
} while(!var5.containsCoord(var1, var2, var3)); // L: 95
return var5.getBorderTileLengths(var1, var2, var3); // L: 96
}
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "(III)Lko;",
garbageValue = "-2002328673"
)
@Export("coord")
public Coord coord(int var1, int var2) {
Iterator var3 = this.sections.iterator(); // L: 104
WorldMapSection var4;
do {
if (!var3.hasNext()) {
return null; // L: 112
}
var4 = (WorldMapSection)var3.next(); // L: 105
} while(!var4.containsPosition(var1, var2)); // L: 107
return var4.coord(var1, var2); // L: 108
}
@ObfuscatedName("d")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-963481641"
)
@Export("setBounds")
void setBounds() {
Iterator var1 = this.sections.iterator(); // L: 116
while (var1.hasNext()) {
WorldMapSection var2 = (WorldMapSection)var1.next(); // L: 117
var2.expandBounds(this); // L: 119
}
} // L: 122
@ObfuscatedName("f")
@ObfuscatedSignature(
descriptor = "(S)I",
garbageValue = "128"
)
@Export("getId")
public int getId() {
return this.id; // L: 125
}
@ObfuscatedName("u")
@ObfuscatedSignature(
descriptor = "(I)Z",
garbageValue = "856188829"
)
@Export("getIsMain")
public boolean getIsMain() {
return this.isMain; // L: 129
}
@ObfuscatedName("r")
@ObfuscatedSignature(
descriptor = "(I)Ljava/lang/String;",
garbageValue = "1814116650"
)
@Export("getInternalName")
public String getInternalName() {
return this.internalName; // L: 133
}
@ObfuscatedName("k")
@ObfuscatedSignature(
descriptor = "(B)Ljava/lang/String;",
garbageValue = "107"
)
@Export("getExternalName")
public String getExternalName() {
return this.externalName; // L: 137
}
@ObfuscatedName("x")
@ObfuscatedSignature(
descriptor = "(I)I",
garbageValue = "-2041021120"
)
@Export("getBackGroundColor")
int getBackGroundColor() {
return this.backGroundColor; // L: 141
}
@ObfuscatedName("c")
@ObfuscatedSignature(
descriptor = "(I)I",
garbageValue = "-35714966"
)
@Export("getZoom")
public int getZoom() {
return this.zoom; // L: 145
}
@ObfuscatedName("j")
@ObfuscatedSignature(
descriptor = "(I)I",
garbageValue = "-1069945240"
)
@Export("getRegionLowX")
public int getRegionLowX() {
return this.regionLowX; // L: 149
}
@ObfuscatedName("p")
@ObfuscatedSignature(
descriptor = "(I)I",
garbageValue = "1823486423"
)
@Export("getRegionHighX")
public int getRegionHighX() {
return this.regionHighX; // L: 153
}
@ObfuscatedName("s")
@ObfuscatedSignature(
descriptor = "(I)I",
garbageValue = "1605388793"
)
@Export("getRegionLowY")
public int getRegionLowY() {
return this.regionLowY; // L: 157
}
@ObfuscatedName("b")
@ObfuscatedSignature(
descriptor = "(I)I",
garbageValue = "-1164673789"
)
@Export("getRegionHighY")
public int getRegionHighY() {
return this.regionHighY; // L: 161
}
@ObfuscatedName("w")
@ObfuscatedSignature(
descriptor = "(I)I",
garbageValue = "480137512"
)
@Export("getOriginX")
public int getOriginX() {
return this.origin.x; // L: 165
}
@ObfuscatedName("a")
@ObfuscatedSignature(
descriptor = "(I)I",
garbageValue = "-1377230464"
)
@Export("getOriginPlane")
public int getOriginPlane() {
return this.origin.plane; // L: 169
}
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "(B)I",
garbageValue = "-27"
)
@Export("getOriginY")
public int getOriginY() {
return this.origin.y; // L: 173
}
@ObfuscatedName("q")
@ObfuscatedSignature(
descriptor = "(I)Lko;",
garbageValue = "-1856274219"
)
@Export("getOrigin")
public Coord getOrigin() {
return new Coord(this.origin); // L: 177
}
@ObfuscatedName("o")
public static String method4648(long var0) {
if (var0 > 0L && var0 < 6582952005840035281L) { // L: 31
if (0L == var0 % 37L) { // L: 32
return null;
} else {
int var2 = 0; // L: 33
for (long var3 = var0; 0L != var3; var3 /= 37L) { // L: 34 35 37
++var2; // L: 36
}
StringBuilder var5 = new StringBuilder(var2); // L: 39
while (var0 != 0L) { // L: 40
long var6 = var0; // L: 41
var0 /= 37L; // L: 42
var5.append(class349.base37Table[(int)(var6 - 37L * var0)]); // L: 43
}
return var5.reverse().toString(); // L: 45
}
} else {
return null;
}
}
}