Files
runelite/runescape-client/src/main/java/WorldMapRegion.java
2020-08-26 21:11:23 +01:00

1060 lines
34 KiB
Java

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("al")
@Implements("WorldMapRegion")
public class WorldMapRegion {
@ObfuscatedName("i")
@ObfuscatedSignature(
descriptor = "Lfp;"
)
@Export("WorldMapRegion_cachedSprites")
public static DemotingHashTable WorldMapRegion_cachedSprites;
@ObfuscatedName("u")
static String field277;
@ObfuscatedName("o")
@ObfuscatedGetter(
intValue = 1185290071
)
@Export("regionX")
int regionX;
@ObfuscatedName("x")
@ObfuscatedGetter(
intValue = -1059284245
)
@Export("regionY")
int regionY;
@ObfuscatedName("w")
@ObfuscatedSignature(
descriptor = "Ll;"
)
@Export("worldMapData_0")
WorldMapData_0 worldMapData_0;
@ObfuscatedName("g")
@Export("worldMapData1List")
LinkedList worldMapData1List;
@ObfuscatedName("m")
@ObfuscatedGetter(
intValue = 1881987389
)
@Export("backgroundColor")
int backgroundColor;
@ObfuscatedName("n")
@ObfuscatedGetter(
intValue = -1196076883
)
@Export("pixelsPerTile")
int pixelsPerTile;
@ObfuscatedName("d")
@Export("icon0List")
List icon0List;
@ObfuscatedName("h")
@Export("iconMap")
HashMap iconMap;
@ObfuscatedName("a")
@Export("fonts")
final HashMap fonts;
static {
WorldMapRegion_cachedSprites = new DemotingHashTable(37748736, 256); // L: 26
}
WorldMapRegion(int var1, int var2, int var3, HashMap var4) {
this.regionX = var1; // L: 50
this.regionY = var2; // L: 51
this.worldMapData1List = new LinkedList(); // L: 52
this.icon0List = new LinkedList(); // L: 53
this.iconMap = new HashMap(); // L: 54
this.backgroundColor = var3 | -16777216; // L: 55
this.fonts = var4; // L: 56
} // L: 57
@ObfuscatedName("t")
@ObfuscatedSignature(
descriptor = "(IIII)V",
garbageValue = "-1575156019"
)
void method505(int var1, int var2, int var3) {
int var5 = this.regionX; // L: 61
int var6 = this.regionY; // L: 62
int var7 = this.pixelsPerTile; // L: 63
Sprite var4 = (Sprite)WorldMapRegion_cachedSprites.get(MenuAction.method2139(var5, var6, var7)); // L: 65
if (var4 != null) { // L: 68
if (var3 == this.pixelsPerTile * 64) { // L: 69
var4.drawAt(var1, var2); // L: 70
} else {
var4.drawScaledWorldmap(var1, var2, var3, var3); // L: 73
}
}
} // L: 75
@ObfuscatedName("i")
@ObfuscatedSignature(
descriptor = "(Ll;Ljava/util/List;I)V",
garbageValue = "-1730892204"
)
@Export("initWorldMapData0")
void initWorldMapData0(WorldMapData_0 var1, List var2) {
this.iconMap.clear(); // L: 78
this.worldMapData_0 = var1; // L: 79
this.addAllToIconList(var2); // L: 80
} // L: 81
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "(Ljava/util/HashSet;Ljava/util/List;B)V",
garbageValue = "1"
)
@Export("initWorldMapData1")
void initWorldMapData1(HashSet var1, List var2) {
this.iconMap.clear(); // L: 84
Iterator var3 = var1.iterator(); // L: 85
while (var3.hasNext()) {
WorldMapData_1 var4 = (WorldMapData_1)var3.next(); // L: 86
if (var4.getRegionX() == this.regionX && var4.getRegionY() == this.regionY) { // L: 88
this.worldMapData1List.add(var4); // L: 89
}
}
this.addAllToIconList(var2); // L: 93
} // L: 94
@ObfuscatedName("x")
@ObfuscatedSignature(
descriptor = "(IIIILan;I)V",
garbageValue = "121581751"
)
@Export("getIconsForTiles")
void getIconsForTiles(int var1, int var2, int var3, int var4, AbstractWorldMapData var5) {
for (int var6 = var1; var6 < var3 + var1; ++var6) { // L: 97
label74:
for (int var7 = var2; var7 < var2 + var4; ++var7) { // L: 98
for (int var8 = 0; var8 < var5.planes; ++var8) { // L: 99
WorldMapDecoration[] var9 = var5.decorations[var8][var6][var7]; // L: 100
if (var9 != null && var9.length != 0) { // L: 101
WorldMapDecoration[] var10 = var9; // L: 105
for (int var11 = 0; var11 < var10.length; ++var11) { // L: 106
ObjectDefinition var13;
boolean var14;
label65: {
WorldMapDecoration var12 = var10[var11]; // L: 107
var13 = MidiPcmStream.getObjectDefinition(var12.objectDefinitionId); // L: 109
if (var13.transforms != null) { // L: 112
int[] var15 = var13.transforms; // L: 114
for (int var16 = 0; var16 < var15.length; ++var16) { // L: 115
int var17 = var15[var16]; // L: 116
ObjectDefinition var18 = MidiPcmStream.getObjectDefinition(var17); // L: 118
if (var18.mapIconId != -1) {
var14 = true; // L: 120
break label65;
}
}
} else if (var13.mapIconId != -1) { // L: 127
var14 = true; // L: 128
break label65; // L: 129
}
var14 = false; // L: 131
}
if (var14) { // L: 133
this.getIcon(var13, var8, var6, var7, var5); // L: 136
continue label74; // L: 137
}
}
}
}
}
}
} // L: 144
@ObfuscatedName("w")
@ObfuscatedSignature(
descriptor = "(Ljg;IIILan;I)V",
garbageValue = "329414981"
)
@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); // L: 147
Coord var7 = null; // L: 148
if (this.worldMapData_0 != null) { // L: 149
var7 = new Coord(this.worldMapData_0.minPlane + var2, var3 + this.worldMapData_0.regionXLow * 64, var4 + this.worldMapData_0.regionYLow * 64); // L: 150
} else {
WorldMapData_1 var8 = (WorldMapData_1)var5; // L: 153
var7 = new Coord(var2 + var8.minPlane, var8.regionXLow * 64 + var3 + var8.getChunkXLow() * 8, var8.regionYLow * 64 + var4 + var8.getChunkYLow() * 8); // L: 154
}
Object var10;
if (var1.transforms != null) { // L: 157
var10 = new WorldMapIcon_1(var7, var6, var1.id, this); // L: 158
} else {
WorldMapElement var9 = WorldMapSection0.WorldMapElement_get(var1.mapIconId); // L: 161
var10 = new WorldMapIcon_0(var7, var6, var9.objectId, this.createMapLabel(var9)); // L: 162
}
this.iconMap.put(new Coord(0, var3, var4), var10); // L: 164
} // L: 165
@ObfuscatedName("g")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "1946946990"
)
@Export("initWorldMapIcon1s")
void initWorldMapIcon1s() {
Iterator var1 = this.iconMap.values().iterator(); // L: 168
while (var1.hasNext()) {
AbstractWorldMapIcon var2 = (AbstractWorldMapIcon)var1.next(); // L: 169
if (var2 instanceof WorldMapIcon_1) { // L: 171
((WorldMapIcon_1)var2).init(); // L: 172
}
}
} // L: 176
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "(Ljava/util/List;I)V",
garbageValue = "-2052830022"
)
@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.method529(var3.element));
this.icon0List.add(var4);
}
}
} // L: 188
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "478350201"
)
void method507() {
if (this.worldMapData_0 != null) {
this.worldMapData_0.reset();
} else {
Iterator var1 = this.worldMapData1List.iterator(); // L: 195
while (var1.hasNext()) {
WorldMapData_1 var2 = (WorldMapData_1)var1.next();
var2.reset(); // L: 198
}
}
} // L: 202
@ObfuscatedName("d")
@ObfuscatedSignature(
descriptor = "(Lic;B)Z",
garbageValue = "-62"
)
@Export("loadGeography")
boolean loadGeography(AbstractArchive var1) {
this.iconMap.clear(); // L: 205
if (this.worldMapData_0 != null) { // L: 206
this.worldMapData_0.loadGeography(var1); // L: 207
if (this.worldMapData_0.isFullyLoaded()) { // L: 208
this.getIconsForTiles(0, 0, 64, 64, this.worldMapData_0); // L: 209
return true; // L: 210
} else {
return false; // L: 212
}
} else {
boolean var2 = true; // L: 215
Iterator var3;
WorldMapData_1 var4;
for (var3 = this.worldMapData1List.iterator(); var3.hasNext(); var2 &= var4.isFullyLoaded()) { // L: 216 220
var4 = (WorldMapData_1)var3.next(); // L: 217
var4.loadGeography(var1); // L: 219
}
if (var2) { // L: 223
var3 = this.worldMapData1List.iterator(); // L: 224
while (var3.hasNext()) {
var4 = (WorldMapData_1)var3.next(); // L: 225
this.getIconsForTiles(var4.getChunkX() * 8, var4.getChunkY() * 8, 8, 8, var4); // L: 227
}
}
return var2; // L: 231
}
}
@ObfuscatedName("h")
@ObfuscatedSignature(
descriptor = "(ILaf;[Lls;Lic;Lic;B)V",
garbageValue = "-79"
)
@Export("drawTile")
void drawTile(int var1, WorldMapScaleHandler var2, IndexedSprite[] var3, AbstractArchive var4, AbstractArchive var5) {
this.pixelsPerTile = var1; // L: 236
if (this.worldMapData_0 != null || !this.worldMapData1List.isEmpty()) { // L: 237
int var7 = this.regionX; // L: 241
int var8 = this.regionY; // L: 242
Sprite var6 = (Sprite)WorldMapRegion_cachedSprites.get(MenuAction.method2139(var7, var8, var1)); // L: 244
if (var6 == null) { // L: 246
boolean var9 = true; // L: 249
var9 &= this.loadGeography(var4); // L: 250
int var11;
if (this.worldMapData_0 != null) { // L: 253
var11 = this.worldMapData_0.groupId; // L: 254
} else {
var11 = ((AbstractWorldMapData)this.worldMapData1List.getFirst()).groupId; // L: 257
}
var9 &= var5.tryLoadGroup(var11); // L: 259
if (var9) { // L: 260
byte[] var10 = var5.takeFileFlat(var11); // L: 261
WorldMapSprite var12 = class39.method613(var10); // L: 262
Sprite var13 = new Sprite(this.pixelsPerTile * 64, this.pixelsPerTile * 64); // L: 263
var13.setRaster(); // L: 264
if (this.worldMapData_0 != null) { // L: 265
this.method553(var2, var3, var12); // L: 266
} else {
this.method502(var2, var3, var12); // L: 269
}
AbstractWorldMapData.method353(var13, this.regionX, this.regionY, this.pixelsPerTile); // L: 271
this.method507(); // L: 272
}
}
}
} // L: 238 247 273
@ObfuscatedName("a")
@ObfuscatedSignature(
descriptor = "(IIILjava/util/HashSet;I)V",
garbageValue = "1940218585"
)
void method569(int var1, int var2, int var3, HashSet var4) {
if (var4 == null) { // L: 276
var4 = new HashSet(); // L: 277
}
this.drawNonLinkMapIcons(var1, var2, var4, var3); // L: 279
this.drawMapLinks(var1, var2, var4, var3); // L: 280
} // L: 281
@ObfuscatedName("q")
@ObfuscatedSignature(
descriptor = "(Ljava/util/HashSet;III)V",
garbageValue = "2015143479"
)
@Export("flashElements")
void flashElements(HashSet var1, int var2, int var3) {
Iterator var4 = this.iconMap.values().iterator(); // L: 284
while (var4.hasNext()) {
AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); // L: 285
if (var5.hasValidElement()) { // L: 287
int var6 = var5.getElement(); // L: 288
if (var1.contains(var6)) { // L: 289
WorldMapElement var7 = WorldMapSection0.WorldMapElement_get(var6); // L: 290
this.drawBackgroundCircle(var7, var5.screenX, var5.screenY, var2, var3); // L: 291
}
}
}
this.method521(var1, var2, var3); // L: 295
} // L: 296
@ObfuscatedName("c")
@ObfuscatedSignature(
descriptor = "(Laf;[Lls;Lat;I)V",
garbageValue = "-1361448318"
)
void method553(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) {
int var4;
int var5;
for (var4 = 0; var4 < 64; ++var4) { // L: 299
for (var5 = 0; var5 < 64; ++var5) { // L: 300
this.drawTileGround(var4, var5, this.worldMapData_0, var1, var3); // L: 301
this.method499(var4, var5, this.worldMapData_0, var1); // L: 302
}
}
for (var4 = 0; var4 < 64; ++var4) { // L: 305
for (var5 = 0; var5 < 64; ++var5) { // L: 306
this.method545(var4, var5, this.worldMapData_0, var1, var2); // L: 307
}
}
} // L: 310
@ObfuscatedName("j")
@ObfuscatedSignature(
descriptor = "(Laf;[Lls;Lat;B)V",
garbageValue = "-121"
)
void method502(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) {
Iterator var4 = this.worldMapData1List.iterator(); // L: 313
WorldMapData_1 var5;
int var6;
int var7;
while (var4.hasNext()) {
var5 = (WorldMapData_1)var4.next(); // L: 314
for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { // L: 316
for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { // L: 317
this.drawTileGround(var6, var7, var5, var1, var3); // L: 318
this.method499(var6, var7, var5, var1); // L: 319
}
}
}
var4 = this.worldMapData1List.iterator(); // L: 324
while (var4.hasNext()) {
var5 = (WorldMapData_1)var4.next(); // L: 325
for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { // L: 327
for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { // L: 328
this.method545(var6, var7, var5, var1, var2); // L: 329
}
}
}
} // L: 334
@ObfuscatedName("r")
@ObfuscatedSignature(
descriptor = "(IILan;Laf;[Lls;I)V",
garbageValue = "553934135"
)
void method545(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4, IndexedSprite[] var5) {
this.method519(var1, var2, var3); // L: 337
this.method533(var1, var2, var3, var5); // L: 338
} // L: 339
@ObfuscatedName("u")
@ObfuscatedSignature(
descriptor = "(IILan;Laf;Lat;I)V",
garbageValue = "-1873495133"
)
@Export("drawTileGround")
void drawTileGround(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4, WorldMapSprite var5) {
int var6 = var3.floorUnderlayIds[0][var1][var2] - 1; // L: 342
int var7 = var3.floorOverlayIds[0][var1][var2] - 1; // L: 343
if (var6 == -1 && var7 == -1) { // L: 344
Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, this.backgroundColor); // L: 345
}
int var8 = 16711935; // L: 347
int var9;
if (var7 != -1) { // L: 348
int var10 = this.backgroundColor; // L: 350
FloorOverlayDefinition var11 = SoundSystem.method2594(var7); // L: 352
if (var11 == null) { // L: 353
var9 = var10; // L: 354
} else if (var11.secondaryRgb >= 0) { // L: 357
var9 = var11.secondaryRgb | -16777216; // L: 358
} else if (var11.texture >= 0) { // L: 360
int var12 = GrandExchangeOfferTotalQuantityComparator.method172(Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var11.texture), 96); // L: 361
var9 = Rasterizer3D.Rasterizer3D_colorPalette[var12] | -16777216; // L: 362
} else if (var11.primaryRgb == 16711935) { // L: 364
var9 = var10; // L: 365
} else {
int var13 = var11.hue; // L: 369
int var14 = var11.saturation; // L: 370
int var15 = var11.lightness; // L: 371
if (var15 > 179) { // L: 373
var14 /= 2;
}
if (var15 > 192) { // L: 374
var14 /= 2;
}
if (var15 > 217) { // L: 375
var14 /= 2;
}
if (var15 > 243) { // L: 376
var14 /= 2;
}
int var16 = (var14 / 32 << 7) + var15 / 2 + (var13 / 4 << 10); // L: 377
int var17 = GrandExchangeOfferTotalQuantityComparator.method172(var16, 96); // L: 381
var9 = Rasterizer3D.Rasterizer3D_colorPalette[var17] | -16777216; // L: 382
}
var8 = var9; // L: 385
}
if (var7 > -1 && var3.field198[0][var1][var2] == 0) { // L: 387
Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var8); // L: 388
} else {
var9 = this.method517(var1, var2, var3, var5); // L: 391
if (var7 == -1) { // L: 392
Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var9); // L: 393
} else {
var4.method802(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), var9, var8, this.pixelsPerTile, this.pixelsPerTile, var3.field198[0][var1][var2], var3.field191[0][var1][var2]); // L: 396
}
}
} // L: 389 394 397
@ObfuscatedName("p")
@ObfuscatedSignature(
descriptor = "(IILan;Laf;I)V",
garbageValue = "-100065860"
)
void method499(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4) {
for (int var5 = 1; var5 < var3.planes; ++var5) { // L: 400
int var6 = var3.floorOverlayIds[var5][var1][var2] - 1; // L: 401
if (var6 > -1) { // L: 402
int var8 = this.backgroundColor; // L: 404
FloorOverlayDefinition var9 = SoundSystem.method2594(var6); // L: 406
int var7;
if (var9 == null) { // L: 407
var7 = var8; // L: 408
} else if (var9.secondaryRgb >= 0) { // L: 411
var7 = var9.secondaryRgb | -16777216; // L: 412
} else if (var9.texture >= 0) { // L: 414
int var10 = GrandExchangeOfferTotalQuantityComparator.method172(Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var9.texture), 96); // L: 415
var7 = Rasterizer3D.Rasterizer3D_colorPalette[var10] | -16777216; // L: 416
} else if (var9.primaryRgb == 16711935) { // L: 418
var7 = var8; // L: 419
} else {
int var11 = var9.hue; // L: 423
int var12 = var9.saturation; // L: 424
int var13 = var9.lightness; // L: 425
if (var13 > 179) { // L: 427
var12 /= 2;
}
if (var13 > 192) { // L: 428
var12 /= 2;
}
if (var13 > 217) { // L: 429
var12 /= 2;
}
if (var13 > 243) { // L: 430
var12 /= 2;
}
int var14 = (var12 / 32 << 7) + var13 / 2 + (var11 / 4 << 10); // L: 431
int var15 = GrandExchangeOfferTotalQuantityComparator.method172(var14, 96); // L: 435
var7 = Rasterizer3D.Rasterizer3D_colorPalette[var15] | -16777216; // L: 436
}
if (var3.field198[var5][var1][var2] == 0) { // L: 440
Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var7); // L: 441
} else {
var4.method802(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var7, this.pixelsPerTile, this.pixelsPerTile, var3.field198[var5][var1][var2], var3.field191[var5][var1][var2]); // L: 444
}
}
}
} // L: 448
@ObfuscatedName("b")
@ObfuscatedSignature(
descriptor = "(IILan;Lat;I)I",
garbageValue = "1234221167"
)
int method517(int var1, int var2, AbstractWorldMapData var3, WorldMapSprite var4) {
return var3.floorUnderlayIds[0][var1][var2] == 0 ? this.backgroundColor : var4.getTileColor(var1, var2); // L: 451 452 454
}
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "(IILan;[Lls;B)V",
garbageValue = "-109"
)
void method533(int var1, int var2, AbstractWorldMapData var3, IndexedSprite[] var4) {
for (int var5 = 0; var5 < var3.planes; ++var5) { // L: 458
WorldMapDecoration[] var6 = var3.decorations[var5][var1][var2]; // L: 459
if (var6 != null && var6.length != 0) { // L: 460
WorldMapDecoration[] var7 = var6; // L: 464
for (int var8 = 0; var8 < var7.length; ++var8) { // L: 465
WorldMapDecoration var9 = var7[var8]; // L: 466
int var11 = var9.decoration; // L: 469
boolean var10 = var11 >= WorldMapDecorationType.field2777.id && var11 <= WorldMapDecorationType.field2778.id; // L: 471
if (!var10) { // L: 474
int var13 = var9.decoration; // L: 476
boolean var12 = var13 == WorldMapDecorationType.field2779.id; // L: 478
if (!var12) { // L: 480
continue;
}
}
ObjectDefinition var14 = MidiPcmStream.getObjectDefinition(var9.objectDefinitionId); // L: 482
if (var14.mapSceneId != -1) { // L: 483
if (var14.mapSceneId != 46 && var14.mapSceneId != 52) { // L: 484
var4[var14.mapSceneId].method6217(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2, this.pixelsPerTile * 2); // L: 488
} else {
var4[var14.mapSceneId].method6217(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2 + 1, this.pixelsPerTile * 2 + 1); // L: 485
}
}
}
}
}
} // L: 496
@ObfuscatedName("e")
@ObfuscatedSignature(
descriptor = "(IILan;B)V",
garbageValue = "-118"
)
void method519(int var1, int var2, AbstractWorldMapData var3) {
for (int var4 = 0; var4 < var3.planes; ++var4) { // L: 499
WorldMapDecoration[] var5 = var3.decorations[var4][var1][var2]; // L: 500
if (var5 != null && var5.length != 0) { // L: 501
WorldMapDecoration[] var6 = var5; // L: 505
for (int var7 = 0; var7 < var6.length; ++var7) { // L: 506
WorldMapDecoration var8 = var6[var7]; // L: 507
if (TextureProvider.method2876(var8.decoration)) { // L: 509
ObjectDefinition var9 = MidiPcmStream.getObjectDefinition(var8.objectDefinitionId); // L: 510
int var10 = var9.int1 != 0 ? -3407872 : -3355444; // L: 511
if (var8.decoration == WorldMapDecorationType.field2760.id) { // L: 512
this.method585(var1, var2, var8.rotation, var10); // L: 513
}
if (var8.decoration == WorldMapDecorationType.field2763.id) { // L: 515
this.method585(var1, var2, var8.rotation, -3355444); // L: 516
this.method585(var1, var2, var8.rotation + 1, var10); // L: 517
}
if (var8.decoration == WorldMapDecorationType.field2757.id) { // L: 519
if (var8.rotation == 0) { // L: 520
Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 1, var10);
}
if (var8.rotation == 1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile + this.pixelsPerTile * var1 - 1, this.pixelsPerTile * (63 - var2), 1, var10); // L: 521
}
if (var8.rotation == 2) { // L: 522
Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile + this.pixelsPerTile * var1 - 1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var10);
}
if (var8.rotation == 3) { // L: 523
Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var10);
}
}
if (var8.decoration == WorldMapDecorationType.field2761.id) { // L: 525
int var11 = var8.rotation % 2; // L: 526
int var12;
if (var11 == 0) { // L: 527
for (var12 = 0; var12 < this.pixelsPerTile; ++var12) { // L: 528
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var12 + this.pixelsPerTile * var1, (64 - var2) * this.pixelsPerTile - 1 - var12, 1, var10); // L: 529
}
} else {
for (var12 = 0; var12 < this.pixelsPerTile; ++var12) { // L: 533
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var12 + this.pixelsPerTile * var1, var12 + this.pixelsPerTile * (63 - var2), 1, var10); // L: 534
}
}
}
}
}
}
}
} // L: 543
@ObfuscatedName("ab")
@ObfuscatedSignature(
descriptor = "(IILjava/util/HashSet;II)V",
garbageValue = "-473063416"
)
@Export("drawNonLinkMapIcons")
void drawNonLinkMapIcons(int var1, int var2, HashSet var3, int var4) {
float var5 = (float)var4 / 64.0F; // L: 546
float var6 = var5 / 2.0F; // L: 547
Iterator var7 = this.iconMap.entrySet().iterator(); // L: 548
while (var7.hasNext()) {
Entry var8 = (Entry)var7.next(); // L: 549
Coord var9 = (Coord)var8.getKey(); // L: 551
int var10 = (int)((float)var1 + (float)var9.x * var5 - var6); // L: 552
int var11 = (int)((float)(var2 + var4) - var5 * (float)var9.y - var6); // L: 553
AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var8.getValue(); // L: 554
if (var12 != null && var12.hasValidElement()) { // L: 555
var12.screenX = var10; // L: 556
var12.screenY = var11; // L: 557
WorldMapElement var13 = WorldMapSection0.WorldMapElement_get(var12.getElement()); // L: 558
if (!var3.contains(var13.getObjectId())) { // L: 559
this.method523(var12, var10, var11, var5); // L: 560
}
}
}
} // L: 565
@ObfuscatedName("ag")
@ObfuscatedSignature(
descriptor = "(Ljava/util/HashSet;III)V",
garbageValue = "-1020675379"
)
void method521(HashSet var1, int var2, int var3) {
Iterator var4 = this.icon0List.iterator(); // L: 568
while (var4.hasNext()) {
AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); // L: 569
if (var5.hasValidElement()) { // L: 571
WorldMapElement var6 = WorldMapSection0.WorldMapElement_get(var5.getElement()); // L: 572
if (var6 != null && var1.contains(var6.getObjectId())) { // L: 573
this.drawBackgroundCircle(var6, var5.screenX, var5.screenY, var2, var3); // L: 574
}
}
}
} // L: 578
@ObfuscatedName("ao")
@ObfuscatedSignature(
descriptor = "(Liv;IIIII)V",
garbageValue = "-1177603152"
)
@Export("drawBackgroundCircle")
void drawBackgroundCircle(WorldMapElement var1, int var2, int var3, int var4, int var5) {
Sprite var6 = var1.getSpriteBool(false); // L: 581
if (var6 != null) { // L: 582
var6.drawTransBgAt(var2 - var6.subWidth / 2, var3 - var6.subHeight / 2); // L: 585
if (var4 % var5 < var5 / 2) { // L: 586
Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 15, 16776960, 128); // L: 587
Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 7, 16777215, 256); // L: 588
}
}
} // L: 583 590
@ObfuscatedName("ae")
@ObfuscatedSignature(
descriptor = "(Laz;IIFI)V",
garbageValue = "-1943029754"
)
void method523(AbstractWorldMapIcon var1, int var2, int var3, float var4) {
WorldMapElement var5 = WorldMapSection0.WorldMapElement_get(var1.getElement()); // L: 593
this.method524(var5, var2, var3); // L: 594
this.method567(var1, var5, var2, var3, var4); // L: 595
} // L: 596
@ObfuscatedName("ap")
@ObfuscatedSignature(
descriptor = "(Liv;III)V",
garbageValue = "1650240142"
)
void method524(WorldMapElement var1, int var2, int var3) {
Sprite var4 = var1.getSpriteBool(false); // L: 599
if (var4 != null) { // L: 600
int var5 = this.method527(var4, var1.horizontalAlignment); // L: 601
int var6 = this.method528(var4, var1.verticalAlignment); // L: 602
var4.drawTransBgAt(var5 + var2, var3 + var6); // L: 603
}
} // L: 605
@ObfuscatedName("au")
@ObfuscatedSignature(
descriptor = "(Laz;Liv;IIFB)V",
garbageValue = "-60"
)
void method567(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) {
WorldMapLabel var6 = var1.getLabel(); // L: 608
if (var6 != null) { // L: 609
if (var6.size.method274(var5)) { // L: 612
Font var7 = (Font)this.fonts.get(var6.size); // L: 615
var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, -16777216 | var2.field3243, 0, 1, 0, var7.ascent / 2); // L: 616
}
}
} // L: 610 613 617
@ObfuscatedName("aa")
@ObfuscatedSignature(
descriptor = "(IILjava/util/HashSet;II)V",
garbageValue = "-1868522380"
)
@Export("drawMapLinks")
void drawMapLinks(int var1, int var2, HashSet var3, int var4) {
float var5 = (float)var4 / 64.0F; // L: 620
Iterator var6 = this.icon0List.iterator(); // L: 621
while (var6.hasNext()) {
AbstractWorldMapIcon var7 = (AbstractWorldMapIcon)var6.next(); // L: 622
if (var7.hasValidElement()) { // L: 624
int var8 = var7.coord2.x % 64; // L: 625
int var9 = var7.coord2.y % 64; // L: 626
var7.screenX = (int)((float)var1 + var5 * (float)var8); // L: 627
var7.screenY = (int)((float)(63 - var9) * var5 + (float)var2); // L: 628
if (!var3.contains(var7.getElement())) { // L: 629
this.method523(var7, var7.screenX, var7.screenY, var5); // L: 632
}
}
}
} // L: 635
@ObfuscatedName("ar")
@ObfuscatedSignature(
descriptor = "(Llp;Lju;I)I",
garbageValue = "-249160527"
)
int method527(Sprite var1, HorizontalAlignment var2) {
switch(var2.value) { // L: 638
case 0:
return -var1.subWidth / 2; // L: 649
case 1:
return 0; // L: 641
default:
return -var1.subWidth; // L: 645
}
}
@ObfuscatedName("at")
@ObfuscatedSignature(
descriptor = "(Llp;Lit;I)I",
garbageValue = "-74495504"
)
int method528(Sprite var1, VerticalAlignment var2) {
switch(var2.value) { // L: 655
case 0:
return -var1.subHeight / 2; // L: 658
case 1:
return 0; // L: 662
default:
return -var1.subHeight; // L: 666
}
}
@ObfuscatedName("aq")
@ObfuscatedSignature(
descriptor = "(II)Laq;",
garbageValue = "-576832449"
)
WorldMapLabel method529(int var1) {
WorldMapElement var2 = WorldMapSection0.WorldMapElement_get(var1); // L: 672
return this.createMapLabel(var2); // L: 673
}
@ObfuscatedName("al")
@ObfuscatedSignature(
descriptor = "(Liv;I)Laq;",
garbageValue = "-1919467673"
)
@Export("createMapLabel")
WorldMapLabel createMapLabel(WorldMapElement var1) {
if (var1.name != null && this.fonts != null && this.fonts.get(WorldMapLabelSize.WorldMapLabelSize_small) != null) { // L: 677
WorldMapLabelSize var2 = WorldMapLabelSize.method270(var1.textSize); // L: 680
if (var2 == null) { // L: 681
return null; // L: 682
} else {
Font var3 = (Font)this.fonts.get(var2); // L: 684
if (var3 == null) { // L: 685
return null; // L: 686
} else {
int var4 = var3.lineCount(var1.name, 1000000); // L: 688
String[] var5 = new String[var4]; // L: 689
var3.breakLines(var1.name, (int[])null, var5); // L: 690
int var6 = var5.length * var3.ascent / 2; // L: 691
int var7 = 0; // L: 692
String[] var8 = var5; // L: 694
for (int var9 = 0; var9 < var8.length; ++var9) { // L: 695
String var10 = var8[var9]; // L: 696
int var11 = var3.stringWidth(var10); // L: 698
if (var11 > var7) { // L: 699
var7 = var11; // L: 700
}
}
return new WorldMapLabel(var1.name, var7, var6, var2); // L: 705
}
}
} else {
return null; // L: 678
}
}
@ObfuscatedName("ah")
@ObfuscatedSignature(
descriptor = "(IIIIII)Ljava/util/List;",
garbageValue = "-2065951782"
)
List method531(int var1, int var2, int var3, int var4, int var5) {
LinkedList var6 = new LinkedList(); // L: 709
if (var4 >= var1 && var5 >= var2) { // L: 710
if (var4 < var3 + var1 && var5 < var3 + var2) { // L: 711
Iterator var7 = this.iconMap.values().iterator();
AbstractWorldMapIcon var8;
while (var7.hasNext()) { // L: 712
var8 = (AbstractWorldMapIcon)var7.next(); // L: 713
if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) { // L: 715
var6.add(var8); // L: 716
}
}
var7 = this.icon0List.iterator(); // L: 720
while (var7.hasNext()) {
var8 = (AbstractWorldMapIcon)var7.next(); // L: 721
if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) { // L: 723
var6.add(var8); // L: 724
}
}
return var6; // L: 728
} else {
return var6; // L: 719
}
} else {
return var6;
}
}
@ObfuscatedName("av")
@ObfuscatedSignature(
descriptor = "(I)Ljava/util/List;",
garbageValue = "-715702618"
)
@Export("icons")
List icons() {
LinkedList var1 = new LinkedList(); // L: 732
var1.addAll(this.icon0List); // L: 733
var1.addAll(this.iconMap.values()); // L: 734
return var1; // L: 735
}
@ObfuscatedName("ax")
@ObfuscatedSignature(
descriptor = "(IIIII)V",
garbageValue = "-301130878"
)
void method585(int var1, int var2, int var3, int var4) {
var3 %= 4; // L: 739
if (var3 == 0) { // L: 740
Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4);
}
if (var3 == 1) { // L: 741
Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4);
}
if (var3 == 2) { // L: 742
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); // L: 743
}
} // L: 744
@ObfuscatedName("z")
@ObfuscatedSignature(
descriptor = "(IB)Ljm;",
garbageValue = "-91"
)
@Export("SequenceDefinition_get")
public static SequenceDefinition SequenceDefinition_get(int var0) {
SequenceDefinition var1 = (SequenceDefinition)SequenceDefinition.SequenceDefinition_cached.get((long)var0); // L: 35
if (var1 != null) { // L: 36
return var1;
} else {
byte[] var2 = SequenceDefinition.SequenceDefinition_archive.takeFile(12, var0); // L: 37
var1 = new SequenceDefinition(); // L: 38
if (var2 != null) { // L: 39
var1.decode(new Buffer(var2));
}
var1.postDecode();
SequenceDefinition.SequenceDefinition_cached.put(var1, (long)var0);
return var1;
}
}
@ObfuscatedName("k")
@ObfuscatedSignature(
descriptor = "(Lic;IIB)Lls;",
garbageValue = "20"
)
static IndexedSprite method611(AbstractArchive var0, int var1, int var2) {
byte[] var4 = var0.takeFile(var1, var2); // L: 40
boolean var3;
if (var4 == null) { // L: 41
var3 = false; // L: 42
} else {
Occluder.SpriteBuffer_decode(var4); // L: 45
var3 = true; // L: 46
}
return !var3 ? null : InvDefinition.method4448(); // L: 48 49
}
@ObfuscatedName("i")
@ObfuscatedSignature(
descriptor = "(IIIZIZI)V",
garbageValue = "783564244"
)
@Export("doWorldSorting")
static void doWorldSorting(int var0, int var1, int var2, boolean var3, int var4, boolean var5) {
if (var0 < var1) { // L: 177
int var6 = (var0 + var1) / 2; // L: 178
int var7 = var0; // L: 179
World var8 = AbstractByteArrayCopier.World_worlds[var6]; // L: 180
AbstractByteArrayCopier.World_worlds[var6] = AbstractByteArrayCopier.World_worlds[var1]; // L: 181
AbstractByteArrayCopier.World_worlds[var1] = var8; // L: 182
for (int var9 = var0; var9 < var1; ++var9) { // L: 183
if (ModelData0.method3376(AbstractByteArrayCopier.World_worlds[var9], var8, var2, var3, var4, var5) <= 0) { // L: 184
World var10 = AbstractByteArrayCopier.World_worlds[var9]; // L: 185
AbstractByteArrayCopier.World_worlds[var9] = AbstractByteArrayCopier.World_worlds[var7]; // L: 186
AbstractByteArrayCopier.World_worlds[var7++] = var10; // L: 187
}
}
AbstractByteArrayCopier.World_worlds[var1] = AbstractByteArrayCopier.World_worlds[var7]; // L: 191
AbstractByteArrayCopier.World_worlds[var7] = var8; // L: 192
doWorldSorting(var0, var7 - 1, var2, var3, var4, var5); // L: 193
doWorldSorting(var7 + 1, var1, var2, var3, var4, var5); // L: 194
}
} // L: 196
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "(Ljava/lang/String;I)V",
garbageValue = "1201601061"
)
static final void method609(String var0) {
StringBuilder var10000 = new StringBuilder();
Object var10001 = null; // L: 119
var10000 = var10000.append("Please remove ").append(var0);
var10001 = null;
String var1 = var10000.append(" from your ignore list first").toString();
WorldMapRectangle.addGameMessage(30, "", var1); // L: 121
} // L: 123
}