chore: revision 189

This commit is contained in:
ThatGamerBlue
2020-03-26 14:17:06 +00:00
parent 60b7d0413f
commit acd339fd70
392 changed files with 43289 additions and 42917 deletions

View File

@@ -3,36 +3,38 @@ import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("dv")
@ObfuscatedName("dk")
@Implements("SoundCache")
public class SoundCache {
@ObfuscatedName("c")
@ObfuscatedName("z")
static byte[][][] field1462;
@ObfuscatedName("x")
@ObfuscatedSignature(
signature = "Lii;"
signature = "Liy;"
)
@Export("soundEffectIndex")
AbstractArchive soundEffectIndex;
@ObfuscatedName("t")
@ObfuscatedName("m")
@ObfuscatedSignature(
signature = "Lii;"
signature = "Liy;"
)
@Export("musicSampleIndex")
AbstractArchive musicSampleIndex;
@ObfuscatedName("o")
@ObfuscatedName("k")
@ObfuscatedSignature(
signature = "Lln;"
signature = "Llv;"
)
@Export("musicSamples")
NodeHashTable musicSamples;
@ObfuscatedName("e")
@ObfuscatedName("d")
@ObfuscatedSignature(
signature = "Lln;"
signature = "Llv;"
)
@Export("rawSounds")
NodeHashTable rawSounds;
@ObfuscatedSignature(
signature = "(Lii;Lii;)V"
signature = "(Liy;Liy;)V"
)
public SoundCache(AbstractArchive var1, AbstractArchive var2) {
this.musicSamples = new NodeHashTable(256);
@@ -41,10 +43,10 @@ public class SoundCache {
this.musicSampleIndex = var2;
}
@ObfuscatedName("c")
@ObfuscatedName("x")
@ObfuscatedSignature(
signature = "(II[II)Lcv;",
garbageValue = "-2049722880"
signature = "(II[II)Ldm;",
garbageValue = "-1082666612"
)
@Export("getSoundEffect0")
RawSound getSoundEffect0(int var1, int var2, int[] var3) {
@@ -72,10 +74,10 @@ public class SoundCache {
}
}
@ObfuscatedName("t")
@ObfuscatedName("m")
@ObfuscatedSignature(
signature = "(II[II)Lcv;",
garbageValue = "-207683218"
signature = "(II[II)Ldm;",
garbageValue = "-1027789078"
)
@Export("getMusicSample0")
RawSound getMusicSample0(int var1, int var2, int[] var3) {
@@ -109,10 +111,10 @@ public class SoundCache {
}
}
@ObfuscatedName("o")
@ObfuscatedName("k")
@ObfuscatedSignature(
signature = "(I[II)Lcv;",
garbageValue = "-1171903623"
signature = "(I[II)Ldm;",
garbageValue = "-1326319727"
)
@Export("getSoundEffect")
public RawSound getSoundEffect(int var1, int[] var2) {
@@ -125,10 +127,10 @@ public class SoundCache {
}
}
@ObfuscatedName("e")
@ObfuscatedName("d")
@ObfuscatedSignature(
signature = "(I[II)Lcv;",
garbageValue = "872034645"
signature = "(I[II)Ldm;",
garbageValue = "211592248"
)
@Export("getMusicSample")
public RawSound getMusicSample(int var1, int[] var2) {
@@ -140,4 +142,866 @@ public class SoundCache {
throw new RuntimeException();
}
}
@ObfuscatedName("hg")
@ObfuscatedSignature(
signature = "(IIIIIIII)V",
garbageValue = "277907731"
)
@Export("addPendingSpawnToScene")
static final void addPendingSpawnToScene(int var0, int var1, int var2, int var3, int var4, int var5, int var6) {
if (var2 >= 1 && var3 >= 1 && var2 <= 102 && var3 <= 102) {
if (Client.isLowDetail && var0 != ScriptEvent.Client_plane) {
return;
}
long var7 = 0L;
boolean var9 = true;
boolean var10 = false;
boolean var11 = false;
if (var1 == 0) {
var7 = GrandExchangeOfferWorldComparator.scene.getBoundaryObjectTag(var0, var2, var3);
}
if (var1 == 1) {
var7 = GrandExchangeOfferWorldComparator.scene.getWallDecorationTag(var0, var2, var3);
}
if (var1 == 2) {
var7 = GrandExchangeOfferWorldComparator.scene.getGameObjectTag(var0, var2, var3);
}
if (var1 == 3) {
var7 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(var0, var2, var3);
}
int var12;
if (var7 != 0L) {
var12 = GrandExchangeOfferWorldComparator.scene.getObjectFlags(var0, var2, var3, var7);
int var39 = WorldMapRectangle.Entity_unpackID(var7);
int var40 = var12 & 31;
int var41 = var12 >> 6 & 3;
ObjectDefinition var13;
if (var1 == 0) {
GrandExchangeOfferWorldComparator.scene.removeBoundaryObject(var0, var2, var3);
var13 = WorldMapSection2.getObjectDefinition(var39);
if (var13.interactType != 0) {
Client.collisionMaps[var0].method3635(var2, var3, var40, var41, var13.boolean1);
}
}
if (var1 == 1) {
GrandExchangeOfferWorldComparator.scene.removeWallDecoration(var0, var2, var3);
}
if (var1 == 2) {
GrandExchangeOfferWorldComparator.scene.removeGameObject(var0, var2, var3);
var13 = WorldMapSection2.getObjectDefinition(var39);
if (var2 + var13.sizeX > 103 || var3 + var13.sizeX > 103 || var2 + var13.sizeY > 103 || var3 + var13.sizeY > 103) {
return;
}
if (var13.interactType != 0) {
Client.collisionMaps[var0].setFlagOffNonSquare(var2, var3, var13.sizeX, var13.sizeY, var41, var13.boolean1);
}
}
if (var1 == 3) {
GrandExchangeOfferWorldComparator.scene.removeFloorDecoration(var0, var2, var3);
var13 = WorldMapSection2.getObjectDefinition(var39);
if (var13.interactType == 1) {
Client.collisionMaps[var0].method3655(var2, var3);
}
}
}
if (var4 >= 0) {
var12 = var0;
if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) {
var12 = var0 + 1;
}
Scene var42 = GrandExchangeOfferWorldComparator.scene;
CollisionMap var14 = Client.collisionMaps[var0];
ObjectDefinition var15 = WorldMapSection2.getObjectDefinition(var4);
int var16;
int var17;
if (var5 != 1 && var5 != 3) {
var16 = var15.sizeX;
var17 = var15.sizeY;
} else {
var16 = var15.sizeY;
var17 = var15.sizeX;
}
int var18;
int var19;
if (var16 + var2 <= 104) {
var18 = (var16 >> 1) + var2;
var19 = var2 + (var16 + 1 >> 1);
} else {
var18 = var2;
var19 = var2 + 1;
}
int var20;
int var21;
if (var3 + var17 <= 104) {
var20 = var3 + (var17 >> 1);
var21 = var3 + (var17 + 1 >> 1);
} else {
var20 = var3;
var21 = var3 + 1;
}
int[][] var22 = Tiles.Tiles_heights[var12];
int var23 = var22[var19][var21] + var22[var18][var20] + var22[var19][var20] + var22[var18][var21] >> 2;
int var24 = (var2 << 7) + (var16 << 6);
int var25 = (var3 << 7) + (var17 << 6);
long var26 = IsaacCipher.calculateTag(var2, var3, 2, var15.int1 == 0, var4);
int var28 = (var5 << 6) + var6;
if (var15.int3 == 1) {
var28 += 256;
}
Object var29;
if (var6 == 22) {
if (var15.animationId == -1 && var15.transforms == null) {
var29 = var15.getModel(22, var5, var22, var24, var23, var25);
} else {
var29 = new DynamicObject(var4, 22, var5, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.newFloorDecoration(var0, var2, var3, var23, (Entity)var29, var26, var28);
if (var15.interactType == 1) {
var14.setBlockedByFloorDec(var2, var3);
}
} else if (var6 != 10 && var6 != 11) {
if (var6 >= 12) {
if (var15.animationId == -1 && var15.transforms == null) {
var29 = var15.getModel(var6, var5, var22, var24, var23, var25);
} else {
var29 = new DynamicObject(var4, var6, var5, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.method3187(var0, var2, var3, var23, 1, 1, (Entity)var29, 0, var26, var28);
if (var15.interactType != 0) {
var14.addGameObject(var2, var3, var16, var17, var15.boolean1);
}
} else if (var6 == 0) {
if (var15.animationId == -1 && var15.transforms == null) {
var29 = var15.getModel(0, var5, var22, var24, var23, var25);
} else {
var29 = new DynamicObject(var4, 0, var5, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field544[var5], 0, var26, var28);
if (var15.interactType != 0) {
var14.method3630(var2, var3, var6, var5, var15.boolean1);
}
} else if (var6 == 1) {
if (var15.animationId == -1 && var15.transforms == null) {
var29 = var15.getModel(1, var5, var22, var24, var23, var25);
} else {
var29 = new DynamicObject(var4, 1, var5, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field542[var5], 0, var26, var28);
if (var15.interactType != 0) {
var14.method3630(var2, var3, var6, var5, var15.boolean1);
}
} else {
int var35;
if (var6 == 2) {
var35 = var5 + 1 & 3;
Object var30;
Object var31;
if (var15.animationId == -1 && var15.transforms == null) {
var30 = var15.getModel(2, var5 + 4, var22, var24, var23, var25);
var31 = var15.getModel(2, var35, var22, var24, var23, var25);
} else {
var30 = new DynamicObject(var4, 2, var5 + 4, var12, var2, var3, var15.animationId, true, (Entity)null);
var31 = new DynamicObject(var4, 2, var35, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var30, (Entity)var31, Tiles.field544[var5], Tiles.field544[var35], var26, var28);
if (var15.interactType != 0) {
var14.method3630(var2, var3, var6, var5, var15.boolean1);
}
} else if (var6 == 3) {
if (var15.animationId == -1 && var15.transforms == null) {
var29 = var15.getModel(3, var5, var22, var24, var23, var25);
} else {
var29 = new DynamicObject(var4, 3, var5, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field542[var5], 0, var26, var28);
if (var15.interactType != 0) {
var14.method3630(var2, var3, var6, var5, var15.boolean1);
}
} else if (var6 == 9) {
if (var15.animationId == -1 && var15.transforms == null) {
var29 = var15.getModel(var6, var5, var22, var24, var23, var25);
} else {
var29 = new DynamicObject(var4, var6, var5, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.method3187(var0, var2, var3, var23, 1, 1, (Entity)var29, 0, var26, var28);
if (var15.interactType != 0) {
var14.addGameObject(var2, var3, var16, var17, var15.boolean1);
}
} else if (var6 == 4) {
if (var15.animationId == -1 && var15.transforms == null) {
var29 = var15.getModel(4, var5, var22, var24, var23, var25);
} else {
var29 = new DynamicObject(var4, 4, var5, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.newWallDecoration(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field544[var5], 0, 0, 0, var26, var28);
} else {
Object var32;
long var36;
if (var6 == 5) {
var35 = 16;
var36 = var42.getBoundaryObjectTag(var0, var2, var3);
if (var36 != 0L) {
var35 = WorldMapSection2.getObjectDefinition(WorldMapRectangle.Entity_unpackID(var36)).int2;
}
if (var15.animationId == -1 && var15.transforms == null) {
var32 = var15.getModel(4, var5, var22, var24, var23, var25);
} else {
var32 = new DynamicObject(var4, 4, var5, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.newWallDecoration(var0, var2, var3, var23, (Entity)var32, (Entity)null, Tiles.field544[var5], 0, var35 * Tiles.field541[var5], var35 * Tiles.field547[var5], var26, var28);
} else if (var6 == 6) {
var35 = 8;
var36 = var42.getBoundaryObjectTag(var0, var2, var3);
if (0L != var36) {
var35 = WorldMapSection2.getObjectDefinition(WorldMapRectangle.Entity_unpackID(var36)).int2 / 2;
}
if (var15.animationId == -1 && var15.transforms == null) {
var32 = var15.getModel(4, var5 + 4, var22, var24, var23, var25);
} else {
var32 = new DynamicObject(var4, 4, var5 + 4, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.newWallDecoration(var0, var2, var3, var23, (Entity)var32, (Entity)null, 256, var5, var35 * Tiles.field546[var5], var35 * Tiles.field552[var5], var26, var28);
} else if (var6 == 7) {
int var38 = var5 + 2 & 3;
if (var15.animationId == -1 && var15.transforms == null) {
var29 = var15.getModel(4, var38 + 4, var22, var24, var23, var25);
} else {
var29 = new DynamicObject(var4, 4, var38 + 4, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.newWallDecoration(var0, var2, var3, var23, (Entity)var29, (Entity)null, 256, var38, 0, 0, var26, var28);
} else if (var6 == 8) {
var35 = 8;
var36 = var42.getBoundaryObjectTag(var0, var2, var3);
if (var36 != 0L) {
var35 = WorldMapSection2.getObjectDefinition(WorldMapRectangle.Entity_unpackID(var36)).int2 / 2;
}
int var34 = var5 + 2 & 3;
Object var33;
if (var15.animationId == -1 && var15.transforms == null) {
var32 = var15.getModel(4, var5 + 4, var22, var24, var23, var25);
var33 = var15.getModel(4, var34 + 4, var22, var24, var23, var25);
} else {
var32 = new DynamicObject(var4, 4, var5 + 4, var12, var2, var3, var15.animationId, true, (Entity)null);
var33 = new DynamicObject(var4, 4, var34 + 4, var12, var2, var3, var15.animationId, true, (Entity)null);
}
var42.newWallDecoration(var0, var2, var3, var23, (Entity)var32, (Entity)var33, 256, var5, var35 * Tiles.field546[var5], var35 * Tiles.field552[var5], var26, var28);
}
}
}
} else {
if (var15.animationId == -1 && var15.transforms == null) {
var29 = var15.getModel(10, var5, var22, var24, var23, var25);
} else {
var29 = new DynamicObject(var4, 10, var5, var12, var2, var3, var15.animationId, true, (Entity)null);
}
if (var29 != null) {
var42.method3187(var0, var2, var3, var23, var16, var17, (Entity)var29, var6 == 11 ? 256 : 0, var26, var28);
}
if (var15.interactType != 0) {
var14.addGameObject(var2, var3, var16, var17, var15.boolean1);
}
}
}
}
}
@ObfuscatedName("hp")
@ObfuscatedSignature(
signature = "(Lbi;IIBI)V",
garbageValue = "1090203781"
)
static final void method2609(Player var0, int var1, int var2, byte var3) {
int var4 = var0.pathX[0];
int var5 = var0.pathY[0];
int var6 = var0.transformedSize();
if (var4 >= var6 && var4 < 104 - var6 && var5 >= var6 && var5 < 104 - var6) {
if (var1 >= var6 && var1 < 104 - var6 && var2 >= var6 && var2 < 104 - var6) {
int var8 = var0.transformedSize();
RouteStrategy var9 = WorldMapDecoration.method438(var1, var2);
CollisionMap var10 = Client.collisionMaps[var0.plane];
int[] var11 = Client.field955;
int[] var12 = Client.field956;
int var13;
int var14;
for (var13 = 0; var13 < 128; ++var13) {
for (var14 = 0; var14 < 128; ++var14) {
class182.directions[var13][var14] = 0;
class182.distances[var13][var14] = 99999999;
}
}
int var15;
int var16;
byte var17;
byte var18;
int var19;
int var20;
byte var21;
int var22;
int[][] var23;
int var24;
int var25;
int var26;
int var27;
boolean var33;
boolean var34;
int var35;
int var36;
int var38;
if (var8 == 1) {
var15 = var4;
var16 = var5;
var17 = 64;
var18 = 64;
var19 = var4 - var17;
var20 = var5 - var18;
class182.directions[var17][var18] = 99;
class182.distances[var17][var18] = 0;
var21 = 0;
var22 = 0;
class182.bufferX[var21] = var4;
var38 = var21 + 1;
class182.bufferY[var21] = var5;
var23 = var10.flags;
while (true) {
if (var22 == var38) {
Coord.field2530 = var15;
class182.field2097 = var16;
var34 = false;
break;
}
var15 = class182.bufferX[var22];
var16 = class182.bufferY[var22];
var22 = var22 + 1 & 4095;
var35 = var15 - var19;
var36 = var16 - var20;
var24 = var15 - var10.xInset;
var25 = var16 - var10.yInset;
if (var9.hasArrived(1, var15, var16, var10)) {
Coord.field2530 = var15;
class182.field2097 = var16;
var34 = true;
break;
}
var26 = class182.distances[var35][var36] + 1;
if (var35 > 0 && class182.directions[var35 - 1][var36] == 0 && (var23[var24 - 1][var25] & 19136776) == 0) {
class182.bufferX[var38] = var15 - 1;
class182.bufferY[var38] = var16;
var38 = var38 + 1 & 4095;
class182.directions[var35 - 1][var36] = 2;
class182.distances[var35 - 1][var36] = var26;
}
if (var35 < 127 && class182.directions[var35 + 1][var36] == 0 && (var23[var24 + 1][var25] & 19136896) == 0) {
class182.bufferX[var38] = var15 + 1;
class182.bufferY[var38] = var16;
var38 = var38 + 1 & 4095;
class182.directions[var35 + 1][var36] = 8;
class182.distances[var35 + 1][var36] = var26;
}
if (var36 > 0 && class182.directions[var35][var36 - 1] == 0 && (var23[var24][var25 - 1] & 19136770) == 0) {
class182.bufferX[var38] = var15;
class182.bufferY[var38] = var16 - 1;
var38 = var38 + 1 & 4095;
class182.directions[var35][var36 - 1] = 1;
class182.distances[var35][var36 - 1] = var26;
}
if (var36 < 127 && class182.directions[var35][var36 + 1] == 0 && (var23[var24][var25 + 1] & 19136800) == 0) {
class182.bufferX[var38] = var15;
class182.bufferY[var38] = var16 + 1;
var38 = var38 + 1 & 4095;
class182.directions[var35][var36 + 1] = 4;
class182.distances[var35][var36 + 1] = var26;
}
if (var35 > 0 && var36 > 0 && class182.directions[var35 - 1][var36 - 1] == 0 && (var23[var24 - 1][var25 - 1] & 19136782) == 0 && (var23[var24 - 1][var25] & 19136776) == 0 && (var23[var24][var25 - 1] & 19136770) == 0) {
class182.bufferX[var38] = var15 - 1;
class182.bufferY[var38] = var16 - 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 - 1][var36 - 1] = 3;
class182.distances[var35 - 1][var36 - 1] = var26;
}
if (var35 < 127 && var36 > 0 && class182.directions[var35 + 1][var36 - 1] == 0 && (var23[var24 + 1][var25 - 1] & 19136899) == 0 && (var23[var24 + 1][var25] & 19136896) == 0 && (var23[var24][var25 - 1] & 19136770) == 0) {
class182.bufferX[var38] = var15 + 1;
class182.bufferY[var38] = var16 - 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 + 1][var36 - 1] = 9;
class182.distances[var35 + 1][var36 - 1] = var26;
}
if (var35 > 0 && var36 < 127 && class182.directions[var35 - 1][var36 + 1] == 0 && (var23[var24 - 1][var25 + 1] & 19136824) == 0 && (var23[var24 - 1][var25] & 19136776) == 0 && (var23[var24][var25 + 1] & 19136800) == 0) {
class182.bufferX[var38] = var15 - 1;
class182.bufferY[var38] = var16 + 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 - 1][var36 + 1] = 6;
class182.distances[var35 - 1][var36 + 1] = var26;
}
if (var35 < 127 && var36 < 127 && class182.directions[var35 + 1][var36 + 1] == 0 && (var23[var24 + 1][var25 + 1] & 19136992) == 0 && (var23[var24 + 1][var25] & 19136896) == 0 && (var23[var24][var25 + 1] & 19136800) == 0) {
class182.bufferX[var38] = var15 + 1;
class182.bufferY[var38] = var16 + 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 + 1][var36 + 1] = 12;
class182.distances[var35 + 1][var36 + 1] = var26;
}
}
var33 = var34;
} else if (var8 == 2) {
var15 = var4;
var16 = var5;
var17 = 64;
var18 = 64;
var19 = var4 - var17;
var20 = var5 - var18;
class182.directions[var17][var18] = 99;
class182.distances[var17][var18] = 0;
var21 = 0;
var22 = 0;
class182.bufferX[var21] = var4;
var38 = var21 + 1;
class182.bufferY[var21] = var5;
var23 = var10.flags;
while (true) {
if (var22 == var38) {
Coord.field2530 = var15;
class182.field2097 = var16;
var34 = false;
break;
}
var15 = class182.bufferX[var22];
var16 = class182.bufferY[var22];
var22 = var22 + 1 & 4095;
var35 = var15 - var19;
var36 = var16 - var20;
var24 = var15 - var10.xInset;
var25 = var16 - var10.yInset;
if (var9.hasArrived(2, var15, var16, var10)) {
Coord.field2530 = var15;
class182.field2097 = var16;
var34 = true;
break;
}
var26 = class182.distances[var35][var36] + 1;
if (var35 > 0 && class182.directions[var35 - 1][var36] == 0 && (var23[var24 - 1][var25] & 19136782) == 0 && (var23[var24 - 1][var25 + 1] & 19136824) == 0) {
class182.bufferX[var38] = var15 - 1;
class182.bufferY[var38] = var16;
var38 = var38 + 1 & 4095;
class182.directions[var35 - 1][var36] = 2;
class182.distances[var35 - 1][var36] = var26;
}
if (var35 < 126 && class182.directions[var35 + 1][var36] == 0 && (var23[var24 + 2][var25] & 19136899) == 0 && (var23[var24 + 2][var25 + 1] & 19136992) == 0) {
class182.bufferX[var38] = var15 + 1;
class182.bufferY[var38] = var16;
var38 = var38 + 1 & 4095;
class182.directions[var35 + 1][var36] = 8;
class182.distances[var35 + 1][var36] = var26;
}
if (var36 > 0 && class182.directions[var35][var36 - 1] == 0 && (var23[var24][var25 - 1] & 19136782) == 0 && (var23[var24 + 1][var25 - 1] & 19136899) == 0) {
class182.bufferX[var38] = var15;
class182.bufferY[var38] = var16 - 1;
var38 = var38 + 1 & 4095;
class182.directions[var35][var36 - 1] = 1;
class182.distances[var35][var36 - 1] = var26;
}
if (var36 < 126 && class182.directions[var35][var36 + 1] == 0 && (var23[var24][var25 + 2] & 19136824) == 0 && (var23[var24 + 1][var25 + 2] & 19136992) == 0) {
class182.bufferX[var38] = var15;
class182.bufferY[var38] = var16 + 1;
var38 = var38 + 1 & 4095;
class182.directions[var35][var36 + 1] = 4;
class182.distances[var35][var36 + 1] = var26;
}
if (var35 > 0 && var36 > 0 && class182.directions[var35 - 1][var36 - 1] == 0 && (var23[var24 - 1][var25] & 19136830) == 0 && (var23[var24 - 1][var25 - 1] & 19136782) == 0 && (var23[var24][var25 - 1] & 19136911) == 0) {
class182.bufferX[var38] = var15 - 1;
class182.bufferY[var38] = var16 - 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 - 1][var36 - 1] = 3;
class182.distances[var35 - 1][var36 - 1] = var26;
}
if (var35 < 126 && var36 > 0 && class182.directions[var35 + 1][var36 - 1] == 0 && (var23[var24 + 1][var25 - 1] & 19136911) == 0 && (var23[var24 + 2][var25 - 1] & 19136899) == 0 && (var23[var24 + 2][var25] & 19136995) == 0) {
class182.bufferX[var38] = var15 + 1;
class182.bufferY[var38] = var16 - 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 + 1][var36 - 1] = 9;
class182.distances[var35 + 1][var36 - 1] = var26;
}
if (var35 > 0 && var36 < 126 && class182.directions[var35 - 1][var36 + 1] == 0 && (var23[var24 - 1][var25 + 1] & 19136830) == 0 && (var23[var24 - 1][var25 + 2] & 19136824) == 0 && (var23[var24][var25 + 2] & 19137016) == 0) {
class182.bufferX[var38] = var15 - 1;
class182.bufferY[var38] = var16 + 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 - 1][var36 + 1] = 6;
class182.distances[var35 - 1][var36 + 1] = var26;
}
if (var35 < 126 && var36 < 126 && class182.directions[var35 + 1][var36 + 1] == 0 && (var23[var24 + 1][var25 + 2] & 19137016) == 0 && (var23[var24 + 2][var25 + 2] & 19136992) == 0 && (var23[var24 + 2][var25 + 1] & 19136995) == 0) {
class182.bufferX[var38] = var15 + 1;
class182.bufferY[var38] = var16 + 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 + 1][var36 + 1] = 12;
class182.distances[var35 + 1][var36 + 1] = var26;
}
}
var33 = var34;
} else {
var15 = var4;
var16 = var5;
var17 = 64;
var18 = 64;
var19 = var4 - var17;
var20 = var5 - var18;
class182.directions[var17][var18] = 99;
class182.distances[var17][var18] = 0;
var21 = 0;
var22 = 0;
class182.bufferX[var21] = var4;
var38 = var21 + 1;
class182.bufferY[var21] = var5;
var23 = var10.flags;
label822:
while (true) {
label820:
while (true) {
do {
do {
do {
label797:
do {
if (var22 == var38) {
Coord.field2530 = var15;
class182.field2097 = var16;
var34 = false;
break label822;
}
var15 = class182.bufferX[var22];
var16 = class182.bufferY[var22];
var22 = var22 + 1 & 4095;
var35 = var15 - var19;
var36 = var16 - var20;
var24 = var15 - var10.xInset;
var25 = var16 - var10.yInset;
if (var9.hasArrived(var8, var15, var16, var10)) {
Coord.field2530 = var15;
class182.field2097 = var16;
var34 = true;
break label822;
}
var26 = class182.distances[var35][var36] + 1;
if (var35 > 0 && class182.directions[var35 - 1][var36] == 0 && (var23[var24 - 1][var25] & 19136782) == 0 && (var23[var24 - 1][var8 + var25 - 1] & 19136824) == 0) {
var27 = 1;
while (true) {
if (var27 >= var8 - 1) {
class182.bufferX[var38] = var15 - 1;
class182.bufferY[var38] = var16;
var38 = var38 + 1 & 4095;
class182.directions[var35 - 1][var36] = 2;
class182.distances[var35 - 1][var36] = var26;
break;
}
if ((var23[var24 - 1][var27 + var25] & 19136830) != 0) {
break;
}
++var27;
}
}
if (var35 < 128 - var8 && class182.directions[var35 + 1][var36] == 0 && (var23[var24 + var8][var25] & 19136899) == 0 && (var23[var24 + var8][var25 + var8 - 1] & 19136992) == 0) {
var27 = 1;
while (true) {
if (var27 >= var8 - 1) {
class182.bufferX[var38] = var15 + 1;
class182.bufferY[var38] = var16;
var38 = var38 + 1 & 4095;
class182.directions[var35 + 1][var36] = 8;
class182.distances[var35 + 1][var36] = var26;
break;
}
if ((var23[var24 + var8][var25 + var27] & 19136995) != 0) {
break;
}
++var27;
}
}
if (var36 > 0 && class182.directions[var35][var36 - 1] == 0 && (var23[var24][var25 - 1] & 19136782) == 0 && (var23[var8 + var24 - 1][var25 - 1] & 19136899) == 0) {
var27 = 1;
while (true) {
if (var27 >= var8 - 1) {
class182.bufferX[var38] = var15;
class182.bufferY[var38] = var16 - 1;
var38 = var38 + 1 & 4095;
class182.directions[var35][var36 - 1] = 1;
class182.distances[var35][var36 - 1] = var26;
break;
}
if ((var23[var27 + var24][var25 - 1] & 19136911) != 0) {
break;
}
++var27;
}
}
if (var36 < 128 - var8 && class182.directions[var35][var36 + 1] == 0 && (var23[var24][var25 + var8] & 19136824) == 0 && (var23[var24 + var8 - 1][var25 + var8] & 19136992) == 0) {
var27 = 1;
while (true) {
if (var27 >= var8 - 1) {
class182.bufferX[var38] = var15;
class182.bufferY[var38] = var16 + 1;
var38 = var38 + 1 & 4095;
class182.directions[var35][var36 + 1] = 4;
class182.distances[var35][var36 + 1] = var26;
break;
}
if ((var23[var24 + var27][var25 + var8] & 19137016) != 0) {
break;
}
++var27;
}
}
if (var35 > 0 && var36 > 0 && class182.directions[var35 - 1][var36 - 1] == 0 && (var23[var24 - 1][var25 - 1] & 19136782) == 0) {
var27 = 1;
while (true) {
if (var27 >= var8) {
class182.bufferX[var38] = var15 - 1;
class182.bufferY[var38] = var16 - 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 - 1][var36 - 1] = 3;
class182.distances[var35 - 1][var36 - 1] = var26;
break;
}
if ((var23[var24 - 1][var27 + (var25 - 1)] & 19136830) != 0 || (var23[var27 + (var24 - 1)][var25 - 1] & 19136911) != 0) {
break;
}
++var27;
}
}
if (var35 < 128 - var8 && var36 > 0 && class182.directions[var35 + 1][var36 - 1] == 0 && (var23[var24 + var8][var25 - 1] & 19136899) == 0) {
var27 = 1;
while (true) {
if (var27 >= var8) {
class182.bufferX[var38] = var15 + 1;
class182.bufferY[var38] = var16 - 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 + 1][var36 - 1] = 9;
class182.distances[var35 + 1][var36 - 1] = var26;
break;
}
if ((var23[var24 + var8][var27 + (var25 - 1)] & 19136995) != 0 || (var23[var27 + var24][var25 - 1] & 19136911) != 0) {
break;
}
++var27;
}
}
if (var35 > 0 && var36 < 128 - var8 && class182.directions[var35 - 1][var36 + 1] == 0 && (var23[var24 - 1][var25 + var8] & 19136824) == 0) {
for (var27 = 1; var27 < var8; ++var27) {
if ((var23[var24 - 1][var27 + var25] & 19136830) != 0 || (var23[var27 + (var24 - 1)][var8 + var25] & 19137016) != 0) {
continue label797;
}
}
class182.bufferX[var38] = var15 - 1;
class182.bufferY[var38] = var16 + 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 - 1][var36 + 1] = 6;
class182.distances[var35 - 1][var36 + 1] = var26;
}
} while(var35 >= 128 - var8);
} while(var36 >= 128 - var8);
} while(class182.directions[var35 + 1][var36 + 1] != 0);
} while((var23[var24 + var8][var8 + var25] & 19136992) != 0);
for (var27 = 1; var27 < var8; ++var27) {
if ((var23[var27 + var24][var25 + var8] & 19137016) != 0 || (var23[var24 + var8][var25 + var27] & 19136995) != 0) {
continue label820;
}
}
class182.bufferX[var38] = var15 + 1;
class182.bufferY[var38] = var16 + 1;
var38 = var38 + 1 & 4095;
class182.directions[var35 + 1][var36 + 1] = 12;
class182.distances[var35 + 1][var36 + 1] = var26;
}
}
var33 = var34;
}
int var7;
label888: {
var14 = var4 - 64;
var15 = var5 - 64;
var16 = Coord.field2530;
var35 = class182.field2097;
if (!var33) {
var36 = Integer.MAX_VALUE;
var19 = Integer.MAX_VALUE;
byte var37 = 10;
var38 = var9.approxDestinationX;
var22 = var9.approxDestinationY;
int var32 = var9.approxDestinationSizeX;
var24 = var9.approxDestinationSizeY;
for (var25 = var38 - var37; var25 <= var38 + var37; ++var25) {
for (var26 = var22 - var37; var26 <= var22 + var37; ++var26) {
var27 = var25 - var14;
int var28 = var26 - var15;
if (var27 >= 0 && var28 >= 0 && var27 < 128 && var28 < 128 && class182.distances[var27][var28] < 100) {
int var29 = 0;
if (var25 < var38) {
var29 = var38 - var25;
} else if (var25 > var38 + var32 - 1) {
var29 = var25 - (var32 + var38 - 1);
}
int var30 = 0;
if (var26 < var22) {
var30 = var22 - var26;
} else if (var26 > var22 + var24 - 1) {
var30 = var26 - (var24 + var22 - 1);
}
int var31 = var29 * var29 + var30 * var30;
if (var31 < var36 || var31 == var36 && class182.distances[var27][var28] < var19) {
var36 = var31;
var19 = class182.distances[var27][var28];
var16 = var25;
var35 = var26;
}
}
}
}
if (var36 == Integer.MAX_VALUE) {
var7 = -1;
break label888;
}
}
if (var16 == var4 && var5 == var35) {
var7 = 0;
} else {
var18 = 0;
class182.bufferX[var18] = var16;
var36 = var18 + 1;
class182.bufferY[var18] = var35;
for (var19 = var20 = class182.directions[var16 - var14][var35 - var15]; var16 != var4 || var5 != var35; var19 = class182.directions[var16 - var14][var35 - var15]) {
if (var19 != var20) {
var20 = var19;
class182.bufferX[var36] = var16;
class182.bufferY[var36++] = var35;
}
if ((var19 & 2) != 0) {
++var16;
} else if ((var19 & 8) != 0) {
--var16;
}
if ((var19 & 1) != 0) {
++var35;
} else if ((var19 & 4) != 0) {
--var35;
}
}
var38 = 0;
while (var36-- > 0) {
var11[var38] = class182.bufferX[var36];
var12[var38++] = class182.bufferY[var36];
if (var38 >= var11.length) {
break;
}
}
var7 = var38;
}
}
var13 = var7;
if (var7 >= 1) {
for (var14 = 0; var14 < var13 - 1; ++var14) {
var0.method1341(Client.field955[var14], Client.field956[var14], var3);
}
}
}
}
}
}