1232 lines
36 KiB
Java
1232 lines
36 KiB
Java
import java.awt.Image;
|
|
import java.util.HashMap;
|
|
import java.util.HashSet;
|
|
import java.util.Iterator;
|
|
import java.util.LinkedList;
|
|
import java.util.List;
|
|
import java.util.Map.Entry;
|
|
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("ax")
|
|
@Implements("WorldMapRegion")
|
|
public class WorldMapRegion {
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedSignature(
|
|
signature = "Lek;"
|
|
)
|
|
@Export("WorldMapRegion_cachedSprites")
|
|
public static DemotingHashTable WorldMapRegion_cachedSprites;
|
|
@ObfuscatedName("aq")
|
|
static Image field254;
|
|
@ObfuscatedName("lw")
|
|
@ObfuscatedSignature(
|
|
signature = "Lck;"
|
|
)
|
|
@Export("tempMenuAction")
|
|
static MenuAction tempMenuAction;
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedGetter(
|
|
intValue = 1472843841
|
|
)
|
|
@Export("regionX")
|
|
int regionX;
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedGetter(
|
|
intValue = -973536499
|
|
)
|
|
@Export("regionY")
|
|
int regionY;
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
signature = "Lw;"
|
|
)
|
|
@Export("worldMapData_0")
|
|
WorldMapData_0 worldMapData_0;
|
|
@ObfuscatedName("j")
|
|
@Export("worldMapData1List")
|
|
LinkedList worldMapData1List;
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedGetter(
|
|
intValue = 60788551
|
|
)
|
|
@Export("backgroundColor")
|
|
int backgroundColor;
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedGetter(
|
|
intValue = -1753597571
|
|
)
|
|
@Export("pixelsPerTile")
|
|
int pixelsPerTile;
|
|
@ObfuscatedName("h")
|
|
@Export("icon0List")
|
|
List icon0List;
|
|
@ObfuscatedName("v")
|
|
@Export("iconMap")
|
|
HashMap iconMap;
|
|
@ObfuscatedName("n")
|
|
@Export("fonts")
|
|
final HashMap fonts;
|
|
|
|
static {
|
|
WorldMapRegion_cachedSprites = new DemotingHashTable(37748736, 256);
|
|
}
|
|
|
|
WorldMapRegion(int var1, int var2, int var3, HashMap var4) {
|
|
this.regionX = var1;
|
|
this.regionY = var2;
|
|
this.worldMapData1List = new LinkedList();
|
|
this.icon0List = new LinkedList();
|
|
this.iconMap = new HashMap();
|
|
this.backgroundColor = var3 | -16777216;
|
|
this.fonts = var4;
|
|
}
|
|
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIII)V",
|
|
garbageValue = "24692551"
|
|
)
|
|
void method442(int var1, int var2, int var3) {
|
|
Sprite var4 = class60.method1187(this.regionX, this.regionY, this.pixelsPerTile);
|
|
if (var4 != null) {
|
|
if (var3 == this.pixelsPerTile * 64) {
|
|
var4.drawAt(var1, var2);
|
|
} else {
|
|
var4.drawScaledWorldmap(var1, var2, var3, var3);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lw;Ljava/util/List;B)V",
|
|
garbageValue = "-57"
|
|
)
|
|
@Export("initWorldMapData0")
|
|
void initWorldMapData0(WorldMapData_0 var1, List var2) {
|
|
this.iconMap.clear();
|
|
this.worldMapData_0 = var1;
|
|
this.addAllToIconList(var2);
|
|
}
|
|
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/util/HashSet;Ljava/util/List;I)V",
|
|
garbageValue = "369325117"
|
|
)
|
|
@Export("initWorldMapData1")
|
|
void initWorldMapData1(HashSet var1, List var2) {
|
|
this.iconMap.clear();
|
|
Iterator var3 = var1.iterator();
|
|
|
|
while (var3.hasNext()) {
|
|
WorldMapData_1 var4 = (WorldMapData_1)var3.next();
|
|
if (var4.getRegionX() == this.regionX && var4.getRegionY() == this.regionY) {
|
|
this.worldMapData1List.add(var4);
|
|
}
|
|
}
|
|
|
|
this.addAllToIconList(var2);
|
|
}
|
|
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIILb;I)V",
|
|
garbageValue = "1972581880"
|
|
)
|
|
@Export("getIconsForTiles")
|
|
void getIconsForTiles(int var1, int var2, int var3, int var4, AbstractWorldMapData var5) {
|
|
for (int var6 = var1; var6 < var3 + var1; ++var6) {
|
|
label51:
|
|
for (int var7 = var2; var7 < var2 + var4; ++var7) {
|
|
for (int var8 = 0; var8 < var5.planes; ++var8) {
|
|
WorldMapDecoration[] var9 = var5.decorations[var8][var6][var7];
|
|
if (var9 != null && var9.length != 0) {
|
|
WorldMapDecoration[] var10 = var9;
|
|
|
|
for (int var11 = 0; var11 < var10.length; ++var11) {
|
|
WorldMapDecoration var12 = var10[var11];
|
|
ObjectDefinition var13 = Occluder.getObjectDefinition(var12.objectDefinitionId);
|
|
if (SoundSystem.method2565(var13)) {
|
|
this.getIcon(var13, var8, var6, var7, var5);
|
|
continue label51;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lir;IIILb;S)V",
|
|
garbageValue = "24571"
|
|
)
|
|
@Export("getIcon")
|
|
void getIcon(ObjectDefinition var1, int var2, int var3, int var4, AbstractWorldMapData var5) {
|
|
Coord var6 = new Coord(var2, var3 + this.regionX * 64, this.regionY * 64 + var4);
|
|
Coord var7 = null;
|
|
if (this.worldMapData_0 != null) {
|
|
var7 = new Coord(this.worldMapData_0.minPlane + var2, var3 + this.worldMapData_0.regionXLow * 64, this.worldMapData_0.regionYLow * 4096 + var4);
|
|
} else {
|
|
WorldMapData_1 var8 = (WorldMapData_1)var5;
|
|
var7 = new Coord(var2 + var8.minPlane, var8.regionXLow * 64 + var3 + var8.getChunkXLow() * 8, var8.regionYLow * 4096 + var4 + var8.getChunkYLow() * 8);
|
|
}
|
|
|
|
Object var10;
|
|
if (var1.transforms != null) {
|
|
var10 = new WorldMapIcon_1(var7, var6, var1.id, this);
|
|
} else {
|
|
WorldMapElement var9 = PacketBufferNode.WorldMapElement_get(var1.mapIconId);
|
|
var10 = new WorldMapIcon_0(var7, var6, var9.objectId, this.createMapLabel(var9));
|
|
}
|
|
|
|
this.iconMap.put(new Coord(0, var3, var4), var10);
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "93681400"
|
|
)
|
|
@Export("initWorldMapIcon1s")
|
|
void initWorldMapIcon1s() {
|
|
Iterator var1 = this.iconMap.values().iterator();
|
|
|
|
while (var1.hasNext()) {
|
|
AbstractWorldMapIcon var2 = (AbstractWorldMapIcon)var1.next();
|
|
if (var2 instanceof WorldMapIcon_1) {
|
|
((WorldMapIcon_1)var2).init();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/util/List;I)V",
|
|
garbageValue = "1607698315"
|
|
)
|
|
@Export("addAllToIconList")
|
|
void addAllToIconList(List var1) {
|
|
Iterator var2 = var1.iterator();
|
|
|
|
while (var2.hasNext()) {
|
|
WorldMapIcon_0 var3 = (WorldMapIcon_0)var2.next();
|
|
if (var3.coord2.x >> 6 == this.regionX && var3.coord2.y >> 6 == this.regionY) {
|
|
WorldMapIcon_0 var4 = new WorldMapIcon_0(var3.coord2, var3.coord2, var3.element, this.method527(var3.element));
|
|
this.icon0List.add(var4);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "1410735729"
|
|
)
|
|
void method475() {
|
|
if (this.worldMapData_0 != null) {
|
|
this.worldMapData_0.reset();
|
|
} else {
|
|
Iterator var1 = this.worldMapData1List.iterator();
|
|
|
|
while (var1.hasNext()) {
|
|
WorldMapData_1 var2 = (WorldMapData_1)var1.next();
|
|
var2.reset();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lii;B)Z",
|
|
garbageValue = "51"
|
|
)
|
|
@Export("loadGeography")
|
|
boolean loadGeography(AbstractArchive var1) {
|
|
this.iconMap.clear();
|
|
if (this.worldMapData_0 != null) {
|
|
this.worldMapData_0.loadGeography(var1);
|
|
if (this.worldMapData_0.isFullyLoaded()) {
|
|
this.getIconsForTiles(0, 0, 64, 64, this.worldMapData_0);
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
boolean var2 = true;
|
|
|
|
Iterator var3;
|
|
WorldMapData_1 var4;
|
|
for (var3 = this.worldMapData1List.iterator(); var3.hasNext(); var2 &= var4.isFullyLoaded()) {
|
|
var4 = (WorldMapData_1)var3.next();
|
|
var4.loadGeography(var1);
|
|
}
|
|
|
|
if (var2) {
|
|
var3 = this.worldMapData1List.iterator();
|
|
|
|
while (var3.hasNext()) {
|
|
var4 = (WorldMapData_1)var3.next();
|
|
this.getIconsForTiles(var4.getChunkX() * 8, var4.getChunkY() * 8, 8, 8, var4);
|
|
}
|
|
}
|
|
|
|
return var2;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
signature = "(ILav;[Lli;Lii;Lii;I)V",
|
|
garbageValue = "-1022935376"
|
|
)
|
|
@Export("drawTile")
|
|
void drawTile(int var1, class40 var2, IndexedSprite[] var3, AbstractArchive var4, AbstractArchive var5) {
|
|
this.pixelsPerTile = var1;
|
|
if (this.worldMapData_0 != null || !this.worldMapData1List.isEmpty()) {
|
|
if (class60.method1187(this.regionX, this.regionY, var1) == null) {
|
|
boolean var6 = true;
|
|
var6 &= this.loadGeography(var4);
|
|
int var8;
|
|
if (this.worldMapData_0 != null) {
|
|
var8 = this.worldMapData_0.groupId;
|
|
} else {
|
|
var8 = ((AbstractWorldMapData)this.worldMapData1List.getFirst()).groupId;
|
|
}
|
|
|
|
var6 &= var5.tryLoadGroup(var8);
|
|
if (var6) {
|
|
byte[] var7 = var5.takeFileFlat(var8);
|
|
WorldMapSprite var9 = PlayerType.method4204(var7);
|
|
Sprite var10 = new Sprite(this.pixelsPerTile * 64, this.pixelsPerTile * 64);
|
|
var10.setRaster();
|
|
if (this.worldMapData_0 != null) {
|
|
this.method454(var2, var3, var9);
|
|
} else {
|
|
this.method455(var2, var3, var9);
|
|
}
|
|
|
|
int var11 = this.regionX;
|
|
int var12 = this.regionY;
|
|
int var13 = this.pixelsPerTile;
|
|
DemotingHashTable var14 = WorldMapRegion_cachedSprites;
|
|
long var16 = (long)(var13 << 16 | var11 << 8 | var12);
|
|
var14.put(var10, var16, var10.pixels.length * 4);
|
|
this.method475();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIILjava/util/HashSet;B)V",
|
|
garbageValue = "68"
|
|
)
|
|
void method452(int var1, int var2, int var3, HashSet var4) {
|
|
if (var4 == null) {
|
|
var4 = new HashSet();
|
|
}
|
|
|
|
this.drawNonLinkMapIcons(var1, var2, var4, var3);
|
|
this.drawMapLinks(var1, var2, var4, var3);
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/util/HashSet;IIB)V",
|
|
garbageValue = "115"
|
|
)
|
|
@Export("flashElements")
|
|
void flashElements(HashSet var1, int var2, int var3) {
|
|
Iterator var4 = this.iconMap.values().iterator();
|
|
|
|
while (var4.hasNext()) {
|
|
AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next();
|
|
if (var5.hasValidElement()) {
|
|
int var6 = var5.getElement();
|
|
if (var1.contains(var6)) {
|
|
WorldMapElement var7 = PacketBufferNode.WorldMapElement_get(var6);
|
|
this.drawBackgroundCircle(var7, var5.screenX, var5.screenY, var2, var3);
|
|
}
|
|
}
|
|
}
|
|
|
|
this.method462(var1, var2, var3);
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lav;[Lli;Laf;S)V",
|
|
garbageValue = "27653"
|
|
)
|
|
void method454(class40 var1, IndexedSprite[] var2, WorldMapSprite var3) {
|
|
int var4;
|
|
int var5;
|
|
for (var4 = 0; var4 < 64; ++var4) {
|
|
for (var5 = 0; var5 < 64; ++var5) {
|
|
this.drawTileGround(var4, var5, this.worldMapData_0, var1, var3);
|
|
this.method458(var4, var5, this.worldMapData_0, var1);
|
|
}
|
|
}
|
|
|
|
for (var4 = 0; var4 < 64; ++var4) {
|
|
for (var5 = 0; var5 < 64; ++var5) {
|
|
this.method456(var4, var5, this.worldMapData_0, var1, var2);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lav;[Lli;Laf;I)V",
|
|
garbageValue = "-532871376"
|
|
)
|
|
void method455(class40 var1, IndexedSprite[] var2, WorldMapSprite var3) {
|
|
Iterator var4 = this.worldMapData1List.iterator();
|
|
|
|
WorldMapData_1 var5;
|
|
int var6;
|
|
int var7;
|
|
while (var4.hasNext()) {
|
|
var5 = (WorldMapData_1)var4.next();
|
|
|
|
for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) {
|
|
for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) {
|
|
this.drawTileGround(var6, var7, var5, var1, var3);
|
|
this.method458(var6, var7, var5, var1);
|
|
}
|
|
}
|
|
}
|
|
|
|
var4 = this.worldMapData1List.iterator();
|
|
|
|
while (var4.hasNext()) {
|
|
var5 = (WorldMapData_1)var4.next();
|
|
|
|
for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) {
|
|
for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) {
|
|
this.method456(var6, var7, var5, var1, var2);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(IILb;Lav;[Lli;I)V",
|
|
garbageValue = "1825239742"
|
|
)
|
|
void method456(int var1, int var2, AbstractWorldMapData var3, class40 var4, IndexedSprite[] var5) {
|
|
this.method461(var1, var2, var3);
|
|
this.method542(var1, var2, var3, var5);
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(IILb;Lav;Laf;B)V",
|
|
garbageValue = "-20"
|
|
)
|
|
@Export("drawTileGround")
|
|
void drawTileGround(int var1, int var2, AbstractWorldMapData var3, class40 var4, WorldMapSprite var5) {
|
|
int var6 = var3.floorUnderlayIds[0][var1][var2] - 1;
|
|
int var7 = var3.floorOverlayIds[0][var1][var2] - 1;
|
|
if (var6 == -1 && var7 == -1) {
|
|
Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, this.backgroundColor);
|
|
}
|
|
|
|
int var8 = 16711935;
|
|
if (var7 != -1) {
|
|
var8 = AbstractUserComparator.method5119(var7, this.backgroundColor);
|
|
}
|
|
|
|
if (var7 > -1 && var3.field188[0][var1][var2] == 0) {
|
|
Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var8);
|
|
} else {
|
|
int var9 = this.method459(var1, var2, var3, var5);
|
|
if (var7 == -1) {
|
|
Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var9);
|
|
} else {
|
|
var4.method736(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), var9, var8, this.pixelsPerTile, this.pixelsPerTile, var3.field188[0][var1][var2], var3.field175[0][var1][var2]);
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedSignature(
|
|
signature = "(IILb;Lav;B)V",
|
|
garbageValue = "29"
|
|
)
|
|
void method458(int var1, int var2, AbstractWorldMapData var3, class40 var4) {
|
|
for (int var5 = 1; var5 < var3.planes; ++var5) {
|
|
int var6 = var3.floorOverlayIds[var5][var1][var2] - 1;
|
|
if (var6 > -1) {
|
|
int var7 = AbstractUserComparator.method5119(var6, this.backgroundColor);
|
|
if (var3.field188[var5][var1][var2] == 0) {
|
|
Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var7);
|
|
} else {
|
|
var4.method736(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var7, this.pixelsPerTile, this.pixelsPerTile, var3.field188[var5][var1][var2], var3.field175[var5][var1][var2]);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("y")
|
|
@ObfuscatedSignature(
|
|
signature = "(IILb;Laf;I)I",
|
|
garbageValue = "1830841056"
|
|
)
|
|
int method459(int var1, int var2, AbstractWorldMapData var3, WorldMapSprite var4) {
|
|
return var3.floorUnderlayIds[0][var1][var2] == 0 ? this.backgroundColor : var4.getTileColor(var1, var2);
|
|
}
|
|
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
signature = "(IILb;[Lli;I)V",
|
|
garbageValue = "-1911702637"
|
|
)
|
|
void method542(int var1, int var2, AbstractWorldMapData var3, IndexedSprite[] var4) {
|
|
for (int var5 = 0; var5 < var3.planes; ++var5) {
|
|
WorldMapDecoration[] var6 = var3.decorations[var5][var1][var2];
|
|
if (var6 != null && var6.length != 0) {
|
|
WorldMapDecoration[] var7 = var6;
|
|
|
|
for (int var8 = 0; var8 < var7.length; ++var8) {
|
|
WorldMapDecoration var9 = var7[var8];
|
|
int var11 = var9.decoration;
|
|
boolean var10 = var11 >= WorldMapDecorationType.field2747.id && var11 <= WorldMapDecorationType.field2748.id;
|
|
if (!var10) {
|
|
int var13 = var9.decoration;
|
|
boolean var12 = var13 == WorldMapDecorationType.field2751.id;
|
|
if (!var12) {
|
|
continue;
|
|
}
|
|
}
|
|
|
|
ObjectDefinition var14 = Occluder.getObjectDefinition(var9.objectDefinitionId);
|
|
if (var14.mapSceneId != -1) {
|
|
if (var14.mapSceneId != 46 && var14.mapSceneId != 52) {
|
|
var4[var14.mapSceneId].method6162(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2, this.pixelsPerTile * 2);
|
|
} else {
|
|
var4[var14.mapSceneId].method6162(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2 + 1, this.pixelsPerTile * 2 + 1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("a")
|
|
@ObfuscatedSignature(
|
|
signature = "(IILb;B)V",
|
|
garbageValue = "124"
|
|
)
|
|
void method461(int var1, int var2, AbstractWorldMapData var3) {
|
|
for (int var4 = 0; var4 < var3.planes; ++var4) {
|
|
WorldMapDecoration[] var5 = var3.decorations[var4][var1][var2];
|
|
if (var5 != null && var5.length != 0) {
|
|
WorldMapDecoration[] var6 = var5;
|
|
|
|
for (int var7 = 0; var7 < var6.length; ++var7) {
|
|
WorldMapDecoration var8 = var6[var7];
|
|
if (class215.method4098(var8.decoration)) {
|
|
ObjectDefinition var9 = Occluder.getObjectDefinition(var8.objectDefinitionId);
|
|
int var10 = var9.int1 != 0 ? -3407872 : -3355444;
|
|
if (var8.decoration == WorldMapDecorationType.field2745.id) {
|
|
this.method474(var1, var2, var8.rotation, var10);
|
|
}
|
|
|
|
if (var8.decoration == WorldMapDecorationType.field2729.id) {
|
|
this.method474(var1, var2, var8.rotation, -3355444);
|
|
this.method474(var1, var2, var8.rotation + 1, var10);
|
|
}
|
|
|
|
if (var8.decoration == WorldMapDecorationType.field2743.id) {
|
|
if (var8.rotation == 0) {
|
|
Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 1, var10);
|
|
}
|
|
|
|
if (var8.rotation == 1) {
|
|
Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1 + this.pixelsPerTile - 1, this.pixelsPerTile * (63 - var2), 1, var10);
|
|
}
|
|
|
|
if (var8.rotation == 2) {
|
|
Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1 + this.pixelsPerTile - 1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var10);
|
|
}
|
|
|
|
if (var8.rotation == 3) {
|
|
Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var10);
|
|
}
|
|
}
|
|
|
|
if (var8.decoration == WorldMapDecorationType.field2731.id) {
|
|
int var11 = var8.rotation % 2;
|
|
int var12;
|
|
if (var11 == 0) {
|
|
for (var12 = 0; var12 < this.pixelsPerTile; ++var12) {
|
|
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var12 + this.pixelsPerTile * var1, (64 - var2) * this.pixelsPerTile - 1 - var12, 1, var10);
|
|
}
|
|
} else {
|
|
for (var12 = 0; var12 < this.pixelsPerTile; ++var12) {
|
|
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var12 + this.pixelsPerTile * var1, var12 + this.pixelsPerTile * (63 - var2), 1, var10);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
signature = "(IILjava/util/HashSet;IB)V",
|
|
garbageValue = "0"
|
|
)
|
|
@Export("drawNonLinkMapIcons")
|
|
void drawNonLinkMapIcons(int var1, int var2, HashSet var3, int var4) {
|
|
float var5 = (float)var4 / 64.0F;
|
|
float var6 = var5 / 2.0F;
|
|
Iterator var7 = this.iconMap.entrySet().iterator();
|
|
|
|
while (var7.hasNext()) {
|
|
Entry var8 = (Entry)var7.next();
|
|
Coord var9 = (Coord)var8.getKey();
|
|
int var10 = (int)(var5 * (float)var9.x + (float)var1 - var6);
|
|
int var11 = (int)((float)(var2 + var4) - var5 * (float)var9.y - var6);
|
|
AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var8.getValue();
|
|
if (var12 != null && var12.hasValidElement()) {
|
|
var12.screenX = var10;
|
|
var12.screenY = var11;
|
|
WorldMapElement var13 = PacketBufferNode.WorldMapElement_get(var12.getElement());
|
|
if (!var3.contains(var13.getObjectId())) {
|
|
this.method464(var12, var10, var11, var5);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("ae")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/util/HashSet;III)V",
|
|
garbageValue = "-1071751507"
|
|
)
|
|
void method462(HashSet var1, int var2, int var3) {
|
|
Iterator var4 = this.icon0List.iterator();
|
|
|
|
while (var4.hasNext()) {
|
|
AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next();
|
|
if (var5.hasValidElement()) {
|
|
WorldMapElement var6 = PacketBufferNode.WorldMapElement_get(var5.getElement());
|
|
if (var6 != null && var1.contains(var6.getObjectId())) {
|
|
this.drawBackgroundCircle(var6, var5.screenX, var5.screenY, var2, var3);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("af")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lim;IIIII)V",
|
|
garbageValue = "-1197729019"
|
|
)
|
|
@Export("drawBackgroundCircle")
|
|
void drawBackgroundCircle(WorldMapElement var1, int var2, int var3, int var4, int var5) {
|
|
Sprite var6 = var1.getSpriteBool(false);
|
|
if (var6 != null) {
|
|
var6.drawTransBgAt(var2 - var6.subWidth / 2, var3 - var6.subHeight / 2);
|
|
if (var4 % var5 < var5 / 2) {
|
|
Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 15, 16776960, 128);
|
|
Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 7, 16777215, 256);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("az")
|
|
@ObfuscatedSignature(
|
|
signature = "(Laq;IIFI)V",
|
|
garbageValue = "1534563948"
|
|
)
|
|
void method464(AbstractWorldMapIcon var1, int var2, int var3, float var4) {
|
|
WorldMapElement var5 = PacketBufferNode.WorldMapElement_get(var1.getElement());
|
|
this.method465(var5, var2, var3);
|
|
this.method460(var1, var5, var2, var3, var4);
|
|
}
|
|
|
|
@ObfuscatedName("ax")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lim;IIB)V",
|
|
garbageValue = "59"
|
|
)
|
|
void method465(WorldMapElement var1, int var2, int var3) {
|
|
Sprite var4 = var1.getSpriteBool(false);
|
|
if (var4 != null) {
|
|
int var5 = this.method524(var4, var1.horizontalAlignment);
|
|
int var6 = this.method469(var4, var1.verticalAlignment);
|
|
var4.drawTransBgAt(var5 + var2, var3 + var6);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("aj")
|
|
@ObfuscatedSignature(
|
|
signature = "(Laq;Lim;IIFI)V",
|
|
garbageValue = "2135973075"
|
|
)
|
|
void method460(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) {
|
|
WorldMapLabel var6 = var1.getLabel();
|
|
if (var6 != null) {
|
|
if (var6.size.method192(var5)) {
|
|
Font var7 = (Font)this.fonts.get(var6.size);
|
|
var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, -16777216 | var2.field3215, 0, 1, 0, var7.ascent / 2);
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("au")
|
|
@ObfuscatedSignature(
|
|
signature = "(IILjava/util/HashSet;IB)V",
|
|
garbageValue = "-57"
|
|
)
|
|
@Export("drawMapLinks")
|
|
void drawMapLinks(int var1, int var2, HashSet var3, int var4) {
|
|
float var5 = (float)var4 / 64.0F;
|
|
Iterator var6 = this.icon0List.iterator();
|
|
|
|
while (var6.hasNext()) {
|
|
AbstractWorldMapIcon var7 = (AbstractWorldMapIcon)var6.next();
|
|
if (var7.hasValidElement()) {
|
|
int var8 = var7.coord2.x % 64;
|
|
int var9 = var7.coord2.y % 64;
|
|
var7.screenX = (int)((float)var1 + var5 * (float)var8);
|
|
var7.screenY = (int)((float)var2 + var5 * (float)(63 - var9));
|
|
if (!var3.contains(var7.getElement())) {
|
|
this.method464(var7, var7.screenX, var7.screenY, var5);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("ay")
|
|
@ObfuscatedSignature(
|
|
signature = "(Llt;Lih;B)I",
|
|
garbageValue = "-44"
|
|
)
|
|
int method524(Sprite var1, HorizontalAlignment var2) {
|
|
switch(var2.value) {
|
|
case 0:
|
|
return 0;
|
|
case 1:
|
|
return -var1.subWidth / 2;
|
|
default:
|
|
return -var1.subWidth;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("aa")
|
|
@ObfuscatedSignature(
|
|
signature = "(Llt;Lic;I)I",
|
|
garbageValue = "1263279649"
|
|
)
|
|
int method469(Sprite var1, VerticalAlignment var2) {
|
|
switch(var2.value) {
|
|
case 0:
|
|
return -var1.subHeight / 2;
|
|
case 2:
|
|
return 0;
|
|
default:
|
|
return -var1.subHeight;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("as")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)Laz;",
|
|
garbageValue = "-2048632100"
|
|
)
|
|
WorldMapLabel method527(int var1) {
|
|
WorldMapElement var2 = PacketBufferNode.WorldMapElement_get(var1);
|
|
return this.createMapLabel(var2);
|
|
}
|
|
|
|
@ObfuscatedName("ak")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lim;I)Laz;",
|
|
garbageValue = "-340039451"
|
|
)
|
|
@Export("createMapLabel")
|
|
WorldMapLabel createMapLabel(WorldMapElement var1) {
|
|
if (var1.name != null && this.fonts != null && this.fonts.get(WorldMapLabelSize.WorldMapLabelSize_small) != null) {
|
|
int var3 = var1.textSize;
|
|
WorldMapLabelSize[] var4 = new WorldMapLabelSize[]{WorldMapLabelSize.WorldMapLabelSize_medium, WorldMapLabelSize.WorldMapLabelSize_small, WorldMapLabelSize.WorldMapLabelSize_large};
|
|
WorldMapLabelSize[] var5 = var4;
|
|
int var6 = 0;
|
|
|
|
WorldMapLabelSize var2;
|
|
while (true) {
|
|
if (var6 >= var5.length) {
|
|
var2 = null;
|
|
break;
|
|
}
|
|
|
|
WorldMapLabelSize var7 = var5[var6];
|
|
if (var3 == var7.field132) {
|
|
var2 = var7;
|
|
break;
|
|
}
|
|
|
|
++var6;
|
|
}
|
|
|
|
if (var2 == null) {
|
|
return null;
|
|
} else {
|
|
Font var14 = (Font)this.fonts.get(var2);
|
|
if (var14 == null) {
|
|
return null;
|
|
} else {
|
|
var6 = var14.lineCount(var1.name, 1000000);
|
|
String[] var15 = new String[var6];
|
|
var14.breakLines(var1.name, (int[])null, var15);
|
|
int var8 = var15.length * var14.ascent / 2;
|
|
int var9 = 0;
|
|
String[] var10 = var15;
|
|
|
|
for (int var11 = 0; var11 < var10.length; ++var11) {
|
|
String var12 = var10[var11];
|
|
int var13 = var14.stringWidth(var12);
|
|
if (var13 > var9) {
|
|
var9 = var13;
|
|
}
|
|
}
|
|
|
|
return new WorldMapLabel(var1.name, var9, var8, var2);
|
|
}
|
|
}
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("ac")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIIB)Ljava/util/List;",
|
|
garbageValue = "1"
|
|
)
|
|
List method472(int var1, int var2, int var3, int var4, int var5) {
|
|
LinkedList var6 = new LinkedList();
|
|
if (var4 >= var1 && var5 >= var2) {
|
|
if (var4 < var3 + var1 && var5 < var3 + var2) {
|
|
Iterator var7 = this.iconMap.values().iterator();
|
|
|
|
AbstractWorldMapIcon var8;
|
|
while (var7.hasNext()) {
|
|
var8 = (AbstractWorldMapIcon)var7.next();
|
|
if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) {
|
|
var6.add(var8);
|
|
}
|
|
}
|
|
|
|
var7 = this.icon0List.iterator();
|
|
|
|
while (var7.hasNext()) {
|
|
var8 = (AbstractWorldMapIcon)var7.next();
|
|
if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) {
|
|
var6.add(var8);
|
|
}
|
|
}
|
|
|
|
return var6;
|
|
} else {
|
|
return var6;
|
|
}
|
|
} else {
|
|
return var6;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("aw")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)Ljava/util/List;",
|
|
garbageValue = "-63"
|
|
)
|
|
@Export("icons")
|
|
List icons() {
|
|
LinkedList var1 = new LinkedList();
|
|
var1.addAll(this.icon0List);
|
|
var1.addAll(this.iconMap.values());
|
|
return var1;
|
|
}
|
|
|
|
@ObfuscatedName("ar")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIS)V",
|
|
garbageValue = "-4117"
|
|
)
|
|
void method474(int var1, int var2, int var3, int var4) {
|
|
var3 %= 4;
|
|
if (var3 == 0) {
|
|
Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4);
|
|
}
|
|
|
|
if (var3 == 1) {
|
|
Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4);
|
|
}
|
|
|
|
if (var3 == 2) {
|
|
Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile * var1 + this.pixelsPerTile - 1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4);
|
|
}
|
|
|
|
if (var3 == 3) {
|
|
Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, this.pixelsPerTile, var4);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "(III)I",
|
|
garbageValue = "403246047"
|
|
)
|
|
static final int method564(int var0, int var1) {
|
|
if (var0 == -2) {
|
|
return 12345678;
|
|
} else if (var0 == -1) {
|
|
if (var1 < 2) {
|
|
var1 = 2;
|
|
} else if (var1 > 126) {
|
|
var1 = 126;
|
|
}
|
|
|
|
return var1;
|
|
} else {
|
|
var1 = (var0 & 127) * var1 / 128;
|
|
if (var1 < 2) {
|
|
var1 = 2;
|
|
} else if (var1 > 126) {
|
|
var1 = 126;
|
|
}
|
|
|
|
return (var0 & 65408) + var1;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("ga")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lbx;I)V",
|
|
garbageValue = "-1195764731"
|
|
)
|
|
static final void method565(Actor var0) {
|
|
var0.movementSequence = var0.readySequence;
|
|
if (var0.pathLength == 0) {
|
|
var0.field997 = 0;
|
|
} else {
|
|
if (var0.sequence != -1 && var0.sequenceDelay == 0) {
|
|
SequenceDefinition var1 = GraphicsDefaults.SequenceDefinition_get(var0.sequence);
|
|
if (var0.field998 > 0 && var1.field3523 == 0) {
|
|
++var0.field997;
|
|
return;
|
|
}
|
|
|
|
if (var0.field998 <= 0 && var1.field3524 == 0) {
|
|
++var0.field997;
|
|
return;
|
|
}
|
|
}
|
|
|
|
int var10 = var0.x;
|
|
int var2 = var0.y;
|
|
int var3 = var0.pathX[var0.pathLength - 1] * 128 + var0.field942 * 2013925376;
|
|
int var4 = var0.pathY[var0.pathLength - 1] * 128 + var0.field942 * 2013925376;
|
|
if (var10 < var3) {
|
|
if (var2 < var4) {
|
|
var0.orientation = 1280;
|
|
} else if (var2 > var4) {
|
|
var0.orientation = 1792;
|
|
} else {
|
|
var0.orientation = 1536;
|
|
}
|
|
} else if (var10 > var3) {
|
|
if (var2 < var4) {
|
|
var0.orientation = 768;
|
|
} else if (var2 > var4) {
|
|
var0.orientation = 256;
|
|
} else {
|
|
var0.orientation = 512;
|
|
}
|
|
} else if (var2 < var4) {
|
|
var0.orientation = 1024;
|
|
} else if (var2 > var4) {
|
|
var0.orientation = 0;
|
|
}
|
|
|
|
byte var5 = var0.pathTraversed[var0.pathLength - 1];
|
|
if (var3 - var10 <= 256 && var3 - var10 >= -256 && var4 - var2 <= 256 && var4 - var2 >= -256) {
|
|
int var6 = var0.orientation - var0.rotation & 2047;
|
|
if (var6 > 1024) {
|
|
var6 -= 2048;
|
|
}
|
|
|
|
int var7 = var0.walkBackSequence;
|
|
if (var6 >= -256 && var6 <= 256) {
|
|
var7 = var0.walkSequence;
|
|
} else if (var6 >= 256 && var6 < 768) {
|
|
var7 = var0.walkRightSequence;
|
|
} else if (var6 >= -768 && var6 <= -256) {
|
|
var7 = var0.walkLeftSequence;
|
|
}
|
|
|
|
if (var7 == -1) {
|
|
var7 = var0.walkSequence;
|
|
}
|
|
|
|
var0.movementSequence = var7;
|
|
int var8 = 4;
|
|
boolean var9 = true;
|
|
if (var0 instanceof NPC) {
|
|
var9 = ((NPC)var0).definition.isClickable;
|
|
}
|
|
|
|
if (var9) {
|
|
if (var0.orientation != var0.rotation && var0.targetIndex == -1 && var0.field975 != 0) {
|
|
var8 = 2;
|
|
}
|
|
|
|
if (var0.pathLength > 2) {
|
|
var8 = 6;
|
|
}
|
|
|
|
if (var0.pathLength > 3) {
|
|
var8 = 8;
|
|
}
|
|
|
|
if (var0.field997 > 0 && var0.pathLength > 1) {
|
|
var8 = 8;
|
|
--var0.field997;
|
|
}
|
|
} else {
|
|
if (var0.pathLength > 1) {
|
|
var8 = 6;
|
|
}
|
|
|
|
if (var0.pathLength > 2) {
|
|
var8 = 8;
|
|
}
|
|
|
|
if (var0.field997 > 0 && var0.pathLength > 1) {
|
|
var8 = 8;
|
|
--var0.field997;
|
|
}
|
|
}
|
|
|
|
if (var5 == 2) {
|
|
var8 <<= 1;
|
|
}
|
|
|
|
if (var8 >= 8 && var0.movementSequence == var0.walkSequence && var0.runSequence != -1) {
|
|
var0.movementSequence = var0.runSequence;
|
|
}
|
|
|
|
if (var10 != var3 || var4 != var2) {
|
|
if (var10 < var3) {
|
|
var0.x += var8;
|
|
if (var0.x > var3) {
|
|
var0.x = var3;
|
|
}
|
|
} else if (var10 > var3) {
|
|
var0.x -= var8;
|
|
if (var0.x < var3) {
|
|
var0.x = var3;
|
|
}
|
|
}
|
|
|
|
if (var2 < var4) {
|
|
var0.y += var8;
|
|
if (var0.y > var4) {
|
|
var0.y = var4;
|
|
}
|
|
} else if (var2 > var4) {
|
|
var0.y -= var8;
|
|
if (var0.y < var4) {
|
|
var0.y = var4;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var3 == var0.x && var4 == var0.y) {
|
|
--var0.pathLength;
|
|
if (var0.field998 > 0) {
|
|
--var0.field998;
|
|
}
|
|
}
|
|
|
|
} else {
|
|
var0.x = var3;
|
|
var0.y = var4;
|
|
--var0.pathLength;
|
|
if (var0.field998 > 0) {
|
|
--var0.field998;
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("ku")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lhn;IIII)V",
|
|
garbageValue = "-1636455277"
|
|
)
|
|
@Export("drawMinimap")
|
|
static final void drawMinimap(Widget var0, int var1, int var2, int var3) {
|
|
UserComparator3.playPcmPlayers();
|
|
SpriteMask var4 = var0.getSpriteMask(false);
|
|
if (var4 != null) {
|
|
Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height);
|
|
if (Client.minimapState != 2 && Client.minimapState != 5) {
|
|
int var5 = Client.camAngleY & 2047;
|
|
int var6 = class192.localPlayer.x / 32 + 48;
|
|
int var7 = 464 - class192.localPlayer.y / 32;
|
|
WorldMapRectangle.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths);
|
|
|
|
int var8;
|
|
int var9;
|
|
int var10;
|
|
for (var8 = 0; var8 < Client.mapIconCount; ++var8) {
|
|
var9 = Client.mapIconXs[var8] * 4 + 2 - class192.localPlayer.x / 32;
|
|
var10 = Client.mapIconYs[var8] * 4 + 2 - class192.localPlayer.y / 32;
|
|
Script.drawSpriteOnMinimap(var1, var2, var9, var10, Client.mapIcons[var8], var4);
|
|
}
|
|
|
|
int var11;
|
|
int var12;
|
|
for (var8 = 0; var8 < 104; ++var8) {
|
|
for (var9 = 0; var9 < 104; ++var9) {
|
|
NodeDeque var15 = Client.groundItems[Clock.Client_plane][var8][var9];
|
|
if (var15 != null) {
|
|
var11 = var8 * 4 + 2 - class192.localPlayer.x / 32;
|
|
var12 = var9 * 4 + 2 - class192.localPlayer.y / 32;
|
|
Script.drawSpriteOnMinimap(var1, var2, var11, var12, AbstractWorldMapData.mapDotSprites[0], var4);
|
|
}
|
|
}
|
|
}
|
|
|
|
for (var8 = 0; var8 < Client.npcCount; ++var8) {
|
|
NPC var16 = Client.npcs[Client.npcIndices[var8]];
|
|
if (var16 != null && var16.isVisible()) {
|
|
NPCDefinition var18 = var16.definition;
|
|
if (var18 != null && var18.transforms != null) {
|
|
var18 = var18.transform();
|
|
}
|
|
|
|
if (var18 != null && var18.drawMapDot && var18.isInteractable) {
|
|
var11 = var16.x / 32 - class192.localPlayer.x / 32;
|
|
var12 = var16.y / 32 - class192.localPlayer.y / 32;
|
|
Script.drawSpriteOnMinimap(var1, var2, var11, var12, AbstractWorldMapData.mapDotSprites[1], var4);
|
|
}
|
|
}
|
|
}
|
|
|
|
var8 = Players.Players_count;
|
|
int[] var19 = Players.Players_indices;
|
|
|
|
for (var10 = 0; var10 < var8; ++var10) {
|
|
Player var17 = Client.players[var19[var10]];
|
|
if (var17 != null && var17.isVisible() && !var17.isHidden && var17 != class192.localPlayer) {
|
|
var12 = var17.x / 32 - class192.localPlayer.x / 32;
|
|
int var13 = var17.y / 32 - class192.localPlayer.y / 32;
|
|
boolean var14 = false;
|
|
if (class192.localPlayer.team != 0 && var17.team != 0 && var17.team == class192.localPlayer.team) {
|
|
var14 = true;
|
|
}
|
|
|
|
if (var17.isFriend()) {
|
|
Script.drawSpriteOnMinimap(var1, var2, var12, var13, AbstractWorldMapData.mapDotSprites[3], var4);
|
|
} else if (var14) {
|
|
Script.drawSpriteOnMinimap(var1, var2, var12, var13, AbstractWorldMapData.mapDotSprites[4], var4);
|
|
} else if (var17.isClanMember()) {
|
|
Script.drawSpriteOnMinimap(var1, var2, var12, var13, AbstractWorldMapData.mapDotSprites[5], var4);
|
|
} else {
|
|
Script.drawSpriteOnMinimap(var1, var2, var12, var13, AbstractWorldMapData.mapDotSprites[2], var4);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (Client.hintArrowType != 0 && Client.cycle % 20 < 10) {
|
|
if (Client.hintArrowType == 1 && Client.hintArrowNpcIndex >= 0 && Client.hintArrowNpcIndex < Client.npcs.length) {
|
|
NPC var20 = Client.npcs[Client.hintArrowNpcIndex];
|
|
if (var20 != null) {
|
|
var11 = var20.x / 32 - class192.localPlayer.x / 32;
|
|
var12 = var20.y / 32 - class192.localPlayer.y / 32;
|
|
KeyHandler.worldToMinimap(var1, var2, var11, var12, StructDefinition.mapMarkerSprites[1], var4);
|
|
}
|
|
}
|
|
|
|
if (Client.hintArrowType == 2) {
|
|
var10 = Client.hintArrowX * 4 - Messages.baseX * 256 + 2 - class192.localPlayer.x / 32;
|
|
var11 = Client.hintArrowY * 4 - Language.baseY * 256 + 2 - class192.localPlayer.y / 32;
|
|
KeyHandler.worldToMinimap(var1, var2, var10, var11, StructDefinition.mapMarkerSprites[1], var4);
|
|
}
|
|
|
|
if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) {
|
|
Player var21 = Client.players[Client.hintArrowPlayerIndex];
|
|
if (var21 != null) {
|
|
var11 = var21.x / 32 - class192.localPlayer.x / 32;
|
|
var12 = var21.y / 32 - class192.localPlayer.y / 32;
|
|
KeyHandler.worldToMinimap(var1, var2, var11, var12, StructDefinition.mapMarkerSprites[1], var4);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (Client.destinationX != 0) {
|
|
var10 = Client.destinationX * 4 + 2 - class192.localPlayer.x / 32;
|
|
var11 = Client.destinationY * 4 + 2 - class192.localPlayer.y / 32;
|
|
Script.drawSpriteOnMinimap(var1, var2, var10, var11, StructDefinition.mapMarkerSprites[0], var4);
|
|
}
|
|
|
|
if (!class192.localPlayer.isHidden) {
|
|
Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 16777215);
|
|
}
|
|
} else {
|
|
Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths);
|
|
}
|
|
|
|
Client.field852[var3] = true;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("kk")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIZI)V",
|
|
garbageValue = "-57958183"
|
|
)
|
|
public static void method563(int var0, int var1, int var2, boolean var3) {
|
|
PacketBufferNode var4 = TilePaint.getPacketBufferNode(ClientPacket.field2255, Client.packetWriter.isaacCipher);
|
|
var4.packetBuffer.writeInt(var3 ? Client.field727 : 0);
|
|
var4.packetBuffer.writeShortLE(var0);
|
|
var4.packetBuffer.writeShort(var1);
|
|
var4.packetBuffer.writeByte(var2);
|
|
Client.packetWriter.addNode(var4);
|
|
}
|
|
}
|