655 lines
17 KiB
Java
655 lines
17 KiB
Java
import java.util.zip.CRC32;
|
|
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("kz")
|
|
@Implements("Archive")
|
|
public class Archive extends AbstractArchive {
|
|
@ObfuscatedName("n")
|
|
@Export("Archive_crc")
|
|
static CRC32 Archive_crc;
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lmy;"
|
|
)
|
|
@Export("archiveDisk")
|
|
ArchiveDisk archiveDisk;
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lmy;"
|
|
)
|
|
@Export("masterDisk")
|
|
ArchiveDisk masterDisk;
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedGetter(
|
|
intValue = 1081704419
|
|
)
|
|
@Export("index")
|
|
int index;
|
|
@ObfuscatedName("s")
|
|
volatile boolean field3821;
|
|
@ObfuscatedName("j")
|
|
boolean field3822;
|
|
@ObfuscatedName("w")
|
|
@Export("validGroups")
|
|
volatile boolean[] validGroups;
|
|
@ObfuscatedName("r")
|
|
@ObfuscatedGetter(
|
|
intValue = -515391075
|
|
)
|
|
@Export("indexCrc")
|
|
int indexCrc;
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedGetter(
|
|
intValue = -98227937
|
|
)
|
|
@Export("indexVersion")
|
|
int indexVersion;
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedGetter(
|
|
intValue = 29264523
|
|
)
|
|
int field3816;
|
|
|
|
static {
|
|
Archive_crc = new CRC32();
|
|
}
|
|
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lmy;Lmy;IZZZ)V"
|
|
)
|
|
public Archive(ArchiveDisk var1, ArchiveDisk var2, int var3, boolean var4, boolean var5, boolean var6) {
|
|
super(var4, var5);
|
|
this.field3821 = false;
|
|
this.field3822 = false;
|
|
this.field3816 = -1;
|
|
this.archiveDisk = var1;
|
|
this.masterDisk = var2;
|
|
this.index = var3;
|
|
this.field3822 = var6;
|
|
int var8 = this.index;
|
|
if (WorldMapLabel.NetCache_reference != null) {
|
|
WorldMapLabel.NetCache_reference.offset = var8 * 8 + 5;
|
|
int var9 = WorldMapLabel.NetCache_reference.readInt();
|
|
int var10 = WorldMapLabel.NetCache_reference.readInt();
|
|
this.loadIndex(var9, var10);
|
|
} else {
|
|
class269.requestNetFile((Archive)null, 255, 255, 0, (byte)0, true);
|
|
NetCache.NetCache_archives[var8] = this;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Z",
|
|
garbageValue = "782340670"
|
|
)
|
|
public boolean method5540() {
|
|
return this.field3821;
|
|
}
|
|
|
|
@ObfuscatedName("b")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)I",
|
|
garbageValue = "1520569672"
|
|
)
|
|
@Export("percentage")
|
|
public int percentage() {
|
|
if (this.field3821) {
|
|
return 100;
|
|
} else if (super.groups != null) {
|
|
return 99;
|
|
} else {
|
|
int var1 = IsaacCipher.method7886(255, this.index);
|
|
if (var1 >= 100) {
|
|
var1 = 99;
|
|
}
|
|
|
|
return var1;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)V",
|
|
garbageValue = "-2090166080"
|
|
)
|
|
@Export("loadRegionFromGroup")
|
|
void loadRegionFromGroup(int var1) {
|
|
PendingSpawn.method2225(this.index, var1);
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)V",
|
|
garbageValue = "2024016984"
|
|
)
|
|
@Export("loadGroup")
|
|
void loadGroup(int var1) {
|
|
if (this.archiveDisk != null && this.validGroups != null && this.validGroups[var1]) {
|
|
class10.method122(var1, this.archiveDisk, this);
|
|
} else {
|
|
class269.requestNetFile(this, this.index, var1, super.groupCrcs[var1], (byte)2, true);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(III)V",
|
|
garbageValue = "-877437608"
|
|
)
|
|
@Export("loadIndex")
|
|
void loadIndex(int var1, int var2) {
|
|
this.indexCrc = var1;
|
|
this.indexVersion = var2;
|
|
if (this.masterDisk != null) {
|
|
class10.method122(this.index, this.masterDisk, this);
|
|
} else {
|
|
class269.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I[BZZI)V",
|
|
garbageValue = "388189625"
|
|
)
|
|
@Export("write")
|
|
void write(int var1, byte[] var2, boolean var3, boolean var4) {
|
|
if (var3) {
|
|
if (this.field3821) {
|
|
throw new RuntimeException();
|
|
}
|
|
|
|
if (this.masterDisk != null) {
|
|
NPCComposition.method3321(this.index, var2, this.masterDisk);
|
|
}
|
|
|
|
this.decodeIndex(var2);
|
|
this.loadAllLocal();
|
|
} else {
|
|
var2[var2.length - 2] = (byte)(super.groupVersions[var1] >> 8);
|
|
var2[var2.length - 1] = (byte)super.groupVersions[var1];
|
|
if (this.archiveDisk != null) {
|
|
NPCComposition.method3321(var1, var2, this.archiveDisk);
|
|
this.validGroups[var1] = true;
|
|
}
|
|
|
|
if (var4) {
|
|
Object[] var5 = super.groups;
|
|
Object var7;
|
|
if (var2 == null) {
|
|
var7 = null;
|
|
} else if (var2.length > 136) {
|
|
DirectByteArrayCopier var8 = new DirectByteArrayCopier();
|
|
var8.set(var2);
|
|
var7 = var8;
|
|
} else {
|
|
var7 = var2;
|
|
}
|
|
|
|
var5[var1] = var7;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lmy;I[BZB)V",
|
|
garbageValue = "1"
|
|
)
|
|
@Export("load")
|
|
public void load(ArchiveDisk var1, int var2, byte[] var3, boolean var4) {
|
|
int var5;
|
|
if (var1 == this.masterDisk) {
|
|
if (this.field3821) {
|
|
throw new RuntimeException();
|
|
}
|
|
|
|
if (var3 == null) {
|
|
class269.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
|
return;
|
|
}
|
|
|
|
Archive_crc.reset();
|
|
Archive_crc.update(var3, 0, var3.length);
|
|
var5 = (int)Archive_crc.getValue();
|
|
if (var5 != this.indexCrc) {
|
|
class269.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
|
return;
|
|
}
|
|
|
|
Buffer var11 = new Buffer(ViewportMouse.decompressBytes(var3));
|
|
int var12 = var11.readUnsignedByte();
|
|
if (var12 != 5 && var12 != 6) {
|
|
throw new RuntimeException(var12 + "," + this.index + "," + var2);
|
|
}
|
|
|
|
int var8 = 0;
|
|
if (var12 >= 6) {
|
|
var8 = var11.readInt();
|
|
}
|
|
|
|
if (var8 != this.indexVersion) {
|
|
class269.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
|
return;
|
|
}
|
|
|
|
this.decodeIndex(var3);
|
|
this.loadAllLocal();
|
|
} else {
|
|
if (!var4 && var2 == this.field3816) {
|
|
this.field3821 = true;
|
|
}
|
|
|
|
if (var3 == null || var3.length <= 2) {
|
|
this.validGroups[var2] = false;
|
|
if (this.field3822 || var4) {
|
|
class269.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
Archive_crc.reset();
|
|
Archive_crc.update(var3, 0, var3.length - 2);
|
|
var5 = (int)Archive_crc.getValue();
|
|
int var6 = ((var3[var3.length - 2] & 255) << 8) + (var3[var3.length - 1] & 255);
|
|
if (var5 != super.groupCrcs[var2] || var6 != super.groupVersions[var2]) {
|
|
this.validGroups[var2] = false;
|
|
if (this.field3822 || var4) {
|
|
class269.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
this.validGroups[var2] = true;
|
|
if (var4) {
|
|
Object[] var7 = super.groups;
|
|
Object var9;
|
|
if (var3 == null) {
|
|
var9 = null;
|
|
} else if (var3.length > 136) {
|
|
DirectByteArrayCopier var10 = new DirectByteArrayCopier();
|
|
var10.set(var3);
|
|
var9 = var10;
|
|
} else {
|
|
var9 = var3;
|
|
}
|
|
|
|
var7[var2] = var9;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "955312949"
|
|
)
|
|
@Export("loadAllLocal")
|
|
void loadAllLocal() {
|
|
this.validGroups = new boolean[super.groups.length];
|
|
|
|
int var1;
|
|
for (var1 = 0; var1 < this.validGroups.length; ++var1) {
|
|
this.validGroups[var1] = false;
|
|
}
|
|
|
|
if (this.archiveDisk == null) {
|
|
this.field3821 = true;
|
|
} else {
|
|
this.field3816 = -1;
|
|
|
|
for (var1 = 0; var1 < this.validGroups.length; ++var1) {
|
|
if (super.fileCounts[var1] > 0) {
|
|
ArchiveDisk var2 = this.archiveDisk;
|
|
ArchiveDiskAction var4 = new ArchiveDiskAction();
|
|
var4.type = 1;
|
|
var4.key = (long)var1;
|
|
var4.archiveDisk = var2;
|
|
var4.archive = this;
|
|
synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) {
|
|
ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var4);
|
|
}
|
|
|
|
class174.method3383();
|
|
this.field3816 = var1;
|
|
}
|
|
}
|
|
|
|
if (this.field3816 == -1) {
|
|
this.field3821 = true;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IB)I",
|
|
garbageValue = "35"
|
|
)
|
|
@Export("groupLoadPercent")
|
|
int groupLoadPercent(int var1) {
|
|
if (super.groups[var1] != null) {
|
|
return 100;
|
|
} else {
|
|
return this.validGroups[var1] ? 100 : IsaacCipher.method7886(this.index, var1);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("r")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)Z",
|
|
garbageValue = "-1796808817"
|
|
)
|
|
public boolean method5570(int var1) {
|
|
return this.validGroups[var1];
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)Z",
|
|
garbageValue = "832467152"
|
|
)
|
|
public boolean method5584(int var1) {
|
|
return this.getGroupFileIds(var1) != null;
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)I",
|
|
garbageValue = "838378005"
|
|
)
|
|
@Export("loadPercent")
|
|
public int loadPercent() {
|
|
int var1 = 0;
|
|
int var2 = 0;
|
|
|
|
int var3;
|
|
for (var3 = 0; var3 < super.groups.length; ++var3) {
|
|
if (super.fileCounts[var3] > 0) {
|
|
var1 += 100;
|
|
var2 += this.groupLoadPercent(var3);
|
|
}
|
|
}
|
|
|
|
if (var1 == 0) {
|
|
return 100;
|
|
} else {
|
|
var3 = var2 * 100 / var1;
|
|
return var3;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("hi")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lck;IILgj;B)V",
|
|
garbageValue = "95"
|
|
)
|
|
static final void method5586(Player var0, int var1, int var2, class185 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();
|
|
Client.field754.approxDestinationX = var1;
|
|
Client.field754.approxDestinationY = var2;
|
|
Client.field754.field2117 = 1;
|
|
Client.field754.field2114 = 1;
|
|
ApproximateRouteStrategy var9 = Client.field754;
|
|
ApproximateRouteStrategy var10 = var9;
|
|
CollisionMap var11 = Client.collisionMaps[var0.plane];
|
|
int[] var12 = Client.field755;
|
|
int[] var13 = Client.field756;
|
|
|
|
int var14;
|
|
int var15;
|
|
for (var14 = 0; var14 < 128; ++var14) {
|
|
for (var15 = 0; var15 < 128; ++var15) {
|
|
class186.directions[var14][var15] = 0;
|
|
class186.distances[var14][var15] = 99999999;
|
|
}
|
|
}
|
|
|
|
int var16;
|
|
int var17;
|
|
byte var19;
|
|
int var20;
|
|
int var21;
|
|
int var23;
|
|
int var25;
|
|
int var26;
|
|
int var27;
|
|
boolean var34;
|
|
int var36;
|
|
int var37;
|
|
int var39;
|
|
if (var8 == 1) {
|
|
var16 = var4;
|
|
var17 = var5;
|
|
byte var18 = 64;
|
|
var19 = 64;
|
|
var20 = var4 - var18;
|
|
var21 = var5 - var19;
|
|
class186.directions[var18][var19] = 99;
|
|
class186.distances[var18][var19] = 0;
|
|
byte var22 = 0;
|
|
var23 = 0;
|
|
class186.bufferX[var22] = var4;
|
|
var39 = var22 + 1;
|
|
class186.bufferY[var22] = var5;
|
|
int[][] var24 = var11.flags;
|
|
|
|
boolean var35;
|
|
while (true) {
|
|
if (var39 == var23) {
|
|
class186.field2129 = var16;
|
|
class186.field2130 = var17;
|
|
var35 = false;
|
|
break;
|
|
}
|
|
|
|
var16 = class186.bufferX[var23];
|
|
var17 = class186.bufferY[var23];
|
|
var23 = var23 + 1 & 4095;
|
|
var36 = var16 - var20;
|
|
var37 = var17 - var21;
|
|
var25 = var16 - var11.xInset;
|
|
var26 = var17 - var11.yInset;
|
|
if (var10.hasArrived(1, var16, var17, var11)) {
|
|
class186.field2129 = var16;
|
|
class186.field2130 = var17;
|
|
var35 = true;
|
|
break;
|
|
}
|
|
|
|
var27 = class186.distances[var36][var37] + 1;
|
|
if (var36 > 0 && class186.directions[var36 - 1][var37] == 0 && (var24[var25 - 1][var26] & 19136776) == 0) {
|
|
class186.bufferX[var39] = var16 - 1;
|
|
class186.bufferY[var39] = var17;
|
|
var39 = var39 + 1 & 4095;
|
|
class186.directions[var36 - 1][var37] = 2;
|
|
class186.distances[var36 - 1][var37] = var27;
|
|
}
|
|
|
|
if (var36 < 127 && class186.directions[var36 + 1][var37] == 0 && (var24[var25 + 1][var26] & 19136896) == 0) {
|
|
class186.bufferX[var39] = var16 + 1;
|
|
class186.bufferY[var39] = var17;
|
|
var39 = var39 + 1 & 4095;
|
|
class186.directions[var36 + 1][var37] = 8;
|
|
class186.distances[var36 + 1][var37] = var27;
|
|
}
|
|
|
|
if (var37 > 0 && class186.directions[var36][var37 - 1] == 0 && (var24[var25][var26 - 1] & 19136770) == 0) {
|
|
class186.bufferX[var39] = var16;
|
|
class186.bufferY[var39] = var17 - 1;
|
|
var39 = var39 + 1 & 4095;
|
|
class186.directions[var36][var37 - 1] = 1;
|
|
class186.distances[var36][var37 - 1] = var27;
|
|
}
|
|
|
|
if (var37 < 127 && class186.directions[var36][var37 + 1] == 0 && (var24[var25][var26 + 1] & 19136800) == 0) {
|
|
class186.bufferX[var39] = var16;
|
|
class186.bufferY[var39] = var17 + 1;
|
|
var39 = var39 + 1 & 4095;
|
|
class186.directions[var36][var37 + 1] = 4;
|
|
class186.distances[var36][var37 + 1] = var27;
|
|
}
|
|
|
|
if (var36 > 0 && var37 > 0 && class186.directions[var36 - 1][var37 - 1] == 0 && (var24[var25 - 1][var26 - 1] & 19136782) == 0 && (var24[var25 - 1][var26] & 19136776) == 0 && (var24[var25][var26 - 1] & 19136770) == 0) {
|
|
class186.bufferX[var39] = var16 - 1;
|
|
class186.bufferY[var39] = var17 - 1;
|
|
var39 = var39 + 1 & 4095;
|
|
class186.directions[var36 - 1][var37 - 1] = 3;
|
|
class186.distances[var36 - 1][var37 - 1] = var27;
|
|
}
|
|
|
|
if (var36 < 127 && var37 > 0 && class186.directions[var36 + 1][var37 - 1] == 0 && (var24[var25 + 1][var26 - 1] & 19136899) == 0 && (var24[var25 + 1][var26] & 19136896) == 0 && (var24[var25][var26 - 1] & 19136770) == 0) {
|
|
class186.bufferX[var39] = var16 + 1;
|
|
class186.bufferY[var39] = var17 - 1;
|
|
var39 = var39 + 1 & 4095;
|
|
class186.directions[var36 + 1][var37 - 1] = 9;
|
|
class186.distances[var36 + 1][var37 - 1] = var27;
|
|
}
|
|
|
|
if (var36 > 0 && var37 < 127 && class186.directions[var36 - 1][var37 + 1] == 0 && (var24[var25 - 1][var26 + 1] & 19136824) == 0 && (var24[var25 - 1][var26] & 19136776) == 0 && (var24[var25][var26 + 1] & 19136800) == 0) {
|
|
class186.bufferX[var39] = var16 - 1;
|
|
class186.bufferY[var39] = var17 + 1;
|
|
var39 = var39 + 1 & 4095;
|
|
class186.directions[var36 - 1][var37 + 1] = 6;
|
|
class186.distances[var36 - 1][var37 + 1] = var27;
|
|
}
|
|
|
|
if (var36 < 127 && var37 < 127 && class186.directions[var36 + 1][var37 + 1] == 0 && (var24[var25 + 1][var26 + 1] & 19136992) == 0 && (var24[var25 + 1][var26] & 19136896) == 0 && (var24[var25][var26 + 1] & 19136800) == 0) {
|
|
class186.bufferX[var39] = var16 + 1;
|
|
class186.bufferY[var39] = var17 + 1;
|
|
var39 = var39 + 1 & 4095;
|
|
class186.directions[var36 + 1][var37 + 1] = 12;
|
|
class186.distances[var36 + 1][var37 + 1] = var27;
|
|
}
|
|
}
|
|
|
|
var34 = var35;
|
|
} else if (var8 == 2) {
|
|
var34 = Clock.method3132(var4, var5, var9, var11);
|
|
} else {
|
|
var34 = UserComparator2.method7617(var4, var5, var8, var9, var11);
|
|
}
|
|
|
|
int var7;
|
|
label346: {
|
|
var15 = var4 - 64;
|
|
var16 = var5 - 64;
|
|
var17 = class186.field2129;
|
|
var36 = class186.field2130;
|
|
if (!var34) {
|
|
var37 = Integer.MAX_VALUE;
|
|
var20 = Integer.MAX_VALUE;
|
|
byte var38 = 10;
|
|
var39 = var10.approxDestinationX;
|
|
var23 = var10.approxDestinationY;
|
|
int var33 = var10.field2117;
|
|
var25 = var10.field2114;
|
|
|
|
for (var26 = var39 - var38; var26 <= var38 + var39; ++var26) {
|
|
for (var27 = var23 - var38; var27 <= var23 + var38; ++var27) {
|
|
int var28 = var26 - var15;
|
|
int var29 = var27 - var16;
|
|
if (var28 >= 0 && var29 >= 0 && var28 < 128 && var29 < 128 && class186.distances[var28][var29] < 100) {
|
|
int var30 = 0;
|
|
if (var26 < var39) {
|
|
var30 = var39 - var26;
|
|
} else if (var26 > var39 + var33 - 1) {
|
|
var30 = var26 - (var39 + var33 - 1);
|
|
}
|
|
|
|
int var31 = 0;
|
|
if (var27 < var23) {
|
|
var31 = var23 - var27;
|
|
} else if (var27 > var25 + var23 - 1) {
|
|
var31 = var27 - (var23 + var25 - 1);
|
|
}
|
|
|
|
int var32 = var30 * var30 + var31 * var31;
|
|
if (var32 < var37 || var32 == var37 && class186.distances[var28][var29] < var20) {
|
|
var37 = var32;
|
|
var20 = class186.distances[var28][var29];
|
|
var17 = var26;
|
|
var36 = var27;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var37 == Integer.MAX_VALUE) {
|
|
var7 = -1;
|
|
break label346;
|
|
}
|
|
}
|
|
|
|
if (var4 == var17 && var36 == var5) {
|
|
var7 = 0;
|
|
} else {
|
|
var19 = 0;
|
|
class186.bufferX[var19] = var17;
|
|
var37 = var19 + 1;
|
|
class186.bufferY[var19] = var36;
|
|
|
|
for (var20 = var21 = class186.directions[var17 - var15][var36 - var16]; var17 != var4 || var36 != var5; var20 = class186.directions[var17 - var15][var36 - var16]) {
|
|
if (var20 != var21) {
|
|
var21 = var20;
|
|
class186.bufferX[var37] = var17;
|
|
class186.bufferY[var37++] = var36;
|
|
}
|
|
|
|
if ((var20 & 2) != 0) {
|
|
++var17;
|
|
} else if ((var20 & 8) != 0) {
|
|
--var17;
|
|
}
|
|
|
|
if ((var20 & 1) != 0) {
|
|
++var36;
|
|
} else if ((var20 & 4) != 0) {
|
|
--var36;
|
|
}
|
|
}
|
|
|
|
var39 = 0;
|
|
|
|
while (var37-- > 0) {
|
|
var12[var39] = class186.bufferX[var37];
|
|
var13[var39++] = class186.bufferY[var37];
|
|
if (var39 >= var12.length) {
|
|
break;
|
|
}
|
|
}
|
|
|
|
var7 = var39;
|
|
}
|
|
}
|
|
|
|
var14 = var7;
|
|
if (var7 >= 1) {
|
|
for (var15 = 0; var15 < var14 - 1; ++var15) {
|
|
var0.method2177(Client.field755[var15], Client.field756[var15], var3);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|