rs-client/apis

This commit is contained in:
Lucwousin
2019-07-18 15:21:46 +02:00
parent aa5098aff5
commit 25ce6c2ee9
346 changed files with 78952 additions and 84408 deletions

View File

@@ -4,315 +4,441 @@ import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("ah")
@ObfuscatedName("t")
@Implements("WorldMapSection0")
public class WorldMapSection0 implements WorldMapSection {
@ObfuscatedName("l")
static int[] field1082;
@ObfuscatedName("j")
@Export("cacheDirectoryLocations")
public static String[] cacheDirectoryLocations;
@ObfuscatedName("m")
@ObfuscatedGetter(
intValue = -1561552223
)
@Export("minPlane")
int minPlane;
@ObfuscatedName("f")
@ObfuscatedGetter(
intValue = -245382089
)
@Export("planes")
int planes;
@ObfuscatedName("q")
@ObfuscatedGetter(
intValue = -1024859679
)
@Export("xRegion")
int xRegion;
@ObfuscatedName("w")
@ObfuscatedGetter(
intValue = 40495485
)
@Export("yRegion")
int yRegion;
@ObfuscatedName("o")
@ObfuscatedGetter(
intValue = 982234927
)
int field1087;
@ObfuscatedName("u")
@ObfuscatedGetter(
intValue = -1272330125
)
int field1088;
@ObfuscatedName("q")
@ObfuscatedGetter(
intValue = 1946278093
)
@Export("oldZ")
int oldZ;
@ObfuscatedName("w")
@ObfuscatedGetter(
intValue = 1083711829
)
@Export("newZ")
int newZ;
@ObfuscatedName("e")
@ObfuscatedGetter(
intValue = 82104029
)
@Export("oldX")
int oldX;
@ObfuscatedName("p")
@ObfuscatedGetter(
intValue = 335674559
)
@Export("oldY")
int oldY;
@ObfuscatedName("k")
@ObfuscatedGetter(
intValue = 12964727
)
@Export("newX")
int newX;
@ObfuscatedName("l")
@ObfuscatedGetter(
intValue = -1819983063
)
@Export("newY")
int newY;
@ObfuscatedName("b")
@ObfuscatedGetter(
intValue = 1938235291
)
@Export("oldChunkXLow")
int oldChunkXLow;
@ObfuscatedName("i")
@ObfuscatedGetter(
intValue = 844709239
)
@Export("oldChunkYLow")
int oldChunkYLow;
@ObfuscatedName("c")
@ObfuscatedGetter(
intValue = -263178467
)
@Export("oldChunkXHigh")
int oldChunkXHigh;
@ObfuscatedName("f")
@ObfuscatedGetter(
intValue = -1648311941
)
@Export("oldChunkYHigh")
int oldChunkYHigh;
@ObfuscatedName("m")
@ObfuscatedGetter(
intValue = -1777261923
)
@Export("newChunkXLow")
int newChunkXLow;
@ObfuscatedName("u")
@ObfuscatedGetter(
intValue = 681009167
)
@Export("newChunkYLow")
int newChunkYLow;
@ObfuscatedName("x")
@ObfuscatedGetter(
intValue = -790633005
)
@Export("newChunkXHigh")
int newChunkXHigh;
@ObfuscatedName("r")
@ObfuscatedGetter(
intValue = -1595362875
)
@Export("newChunkYHigh")
int newChunkYHigh;
@ObfuscatedName("m")
@ObfuscatedSignature(
signature = "(Lag;I)V",
garbageValue = "1384899025"
)
@Export("expandBounds")
public void expandBounds(WorldMapArea area) {
if (area.minX0 > this.field1087) {
area.minX0 = this.field1087;
}
WorldMapSection0() {
}
if (area.maxX0 < this.field1087) {
area.maxX0 = this.field1087;
}
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "(Lal;B)V",
garbageValue = "-53"
)
@Export("expandBounds")
public void expandBounds(WorldMapArea var1) {
if (var1.regionLowX > this.newX) {
var1.regionLowX = this.newX;
}
if (area.minY0 > this.field1088) {
area.minY0 = this.field1088;
}
if (var1.regionHighX < this.newX) {
var1.regionHighX = this.newX;
}
if (area.maxY0 < this.field1088) {
area.maxY0 = this.field1088;
}
if (var1.regionLowY > this.newY) {
var1.regionLowY = this.newY;
}
}
if (var1.regionHighY < this.newY) {
var1.regionHighY = this.newY;
}
@ObfuscatedName("f")
@ObfuscatedSignature(
signature = "(IIIB)Z",
garbageValue = "93"
)
@Export("containsCoord")
public boolean containsCoord(int plane, int x, int y) {
return plane >= this.minPlane && plane < this.minPlane + this.planes ? x >> 6 == this.xRegion && y >> 6 == this.yRegion : false;
}
}
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "(IIB)Z",
garbageValue = "4"
)
@Export("containsPosition")
public boolean containsPosition(int x, int y) {
return x >> 6 == this.field1087 && y >> 6 == this.field1088;
}
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "(IIII)Z",
garbageValue = "59484528"
)
@Export("containsCoord")
public boolean containsCoord(int var1, int var2, int var3) {
if (var1 >= this.oldZ && var1 < this.oldZ + this.newZ) {
return var2 >= (this.oldX << 6) + (this.oldChunkXLow << 3) && var2 <= (this.oldX << 6) + (this.oldChunkXHigh << 3) + 7 && var3 >= (this.oldY << 6) + (this.oldChunkYLow << 3) && var3 <= (this.oldY << 6) + (this.oldChunkYHigh << 3) + 7;
} else {
return false;
}
}
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "(IIII)[I",
garbageValue = "1545934424"
)
@Export("position")
public int[] position(int plane, int x, int y) {
if (!this.containsCoord(plane, x, y)) {
return null;
} else {
int[] var4 = new int[]{this.field1087 * 64 - this.xRegion * 64 + x, y + (this.field1088 * 64 - this.yRegion * 64)};
return var4;
}
}
@ObfuscatedName("e")
@ObfuscatedSignature(
signature = "(IIB)Z",
garbageValue = "56"
)
@Export("containsPosition")
public boolean containsPosition(int var1, int var2) {
return var1 >= (this.newX << 6) + (this.newChunkXLow << 3) && var1 <= (this.newX << 6) + (this.newChunkXHigh << 3) + 7 && var2 >= (this.newY << 6) + (this.newChunkYLow << 3) && var2 <= (this.newY << 6) + (this.newChunkYHigh << 3) + 7;
}
@ObfuscatedName("o")
@ObfuscatedSignature(
signature = "(III)Lhu;",
garbageValue = "-1916486802"
)
@Export("coord")
public Coord coord(int x, int y) {
if (!this.containsPosition(x, y)) {
return null;
} else {
int var3 = this.xRegion * 64 - this.field1087 * 64 + x;
int var4 = this.yRegion * 64 - this.field1088 * 64 + y;
return new Coord(this.minPlane, var3, var4);
}
}
@ObfuscatedName("p")
@ObfuscatedSignature(
signature = "(IIIB)[I",
garbageValue = "12"
)
@Export("getBorderTileLengths")
public int[] getBorderTileLengths(int var1, int var2, int var3) {
if (!this.containsCoord(var1, var2, var3)) {
return null;
} else {
int[] var4 = new int[]{this.newX * 64 - this.oldX * 64 + var2 + (this.newChunkXLow * 8 - this.oldChunkXLow * 8), var3 + (this.newY * 64 - this.oldY * 64) + (this.newChunkYLow * 8 - this.oldChunkYLow * 8)};
return var4;
}
}
@ObfuscatedName("u")
@ObfuscatedSignature(
signature = "(Lgr;B)V",
garbageValue = "-113"
)
@Export("read")
public void read(Buffer buffer) {
this.minPlane = buffer.readUnsignedByte();
this.planes = buffer.readUnsignedByte();
this.xRegion = buffer.readUnsignedShort();
this.yRegion = buffer.readUnsignedShort();
this.field1087 = buffer.readUnsignedShort();
this.field1088 = buffer.readUnsignedShort();
this.method425();
}
@ObfuscatedName("k")
@ObfuscatedSignature(
signature = "(IIB)Lhv;",
garbageValue = "-13"
)
@Export("coord")
public Coord coord(int var1, int var2) {
if (!this.containsPosition(var1, var2)) {
return null;
} else {
int var3 = this.oldX * 64 - this.newX * 64 + (this.oldChunkXLow * 8 - this.newChunkXLow * 8) + var1;
int var4 = this.oldY * 64 - this.newY * 64 + var2 + (this.oldChunkYLow * 8 - this.newChunkYLow * 8);
return new Coord(this.oldZ, var3, var4);
}
}
@ObfuscatedName("g")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-1602858772"
)
void method425() {
}
@ObfuscatedName("l")
@ObfuscatedSignature(
signature = "(Lkf;I)V",
garbageValue = "1767519038"
)
@Export("read")
public void read(Buffer var1) {
this.oldZ = var1.readUnsignedByte();
this.newZ = var1.readUnsignedByte();
this.oldX = var1.readUnsignedShort();
this.oldChunkXLow = var1.readUnsignedByte();
this.oldChunkXHigh = var1.readUnsignedByte();
this.oldY = var1.readUnsignedShort();
this.oldChunkYLow = var1.readUnsignedByte();
this.oldChunkYHigh = var1.readUnsignedByte();
this.newX = var1.readUnsignedShort();
this.newChunkXLow = var1.readUnsignedByte();
this.newChunkXHigh = var1.readUnsignedByte();
this.newY = var1.readUnsignedShort();
this.newChunkYLow = var1.readUnsignedByte();
this.newChunkYHigh = var1.readUnsignedByte();
this.postRead();
}
@ObfuscatedName("m")
@ObfuscatedSignature(
signature = "(II)I",
garbageValue = "409746497"
)
@Export("getVarbit")
public static int getVarbit(int var0) {
VarbitDefinition var1 = Occluder.getVarbitDefinition(var0);
int var2 = var1.baseVar;
int var3 = var1.startBit;
int var4 = var1.endBit;
int var5 = Varps.Varps_masks[var4 - var3];
return Varps.Varps_main[var2] >> var3 & var5;
}
@ObfuscatedName("b")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "35507364"
)
@Export("postRead")
void postRead() {
}
@ObfuscatedName("f")
@ObfuscatedSignature(
signature = "(IILfe;Lfy;I)Z",
garbageValue = "-2025028346"
)
static final boolean method593(int var0, int var1, RouteStrategy var2, CollisionMap var3) {
int var4 = var0;
int var5 = var1;
byte var6 = 64;
byte var7 = 64;
int var8 = var0 - var6;
int var9 = var1 - var7;
class178.directions[var6][var7] = 99;
class178.distances[var6][var7] = 0;
byte var10 = 0;
int var11 = 0;
class178.bufferX[var10] = var0;
int var12 = var10 + 1;
class178.bufferY[var10] = var1;
int[][] var13 = var3.flags;
@ObfuscatedName("e")
@ObfuscatedSignature(
signature = "(Ljava/lang/CharSequence;II[BIB)I",
garbageValue = "1"
)
@Export("encodeStringCp1252")
public static int encodeStringCp1252(CharSequence var0, int var1, int var2, byte[] var3, int var4) {
int var5 = var2 - var1;
while (var12 != var11) {
var4 = class178.bufferX[var11];
var5 = class178.bufferY[var11];
var11 = var11 + 1 & 4095;
int var14 = var4 - var8;
int var15 = var5 - var9;
int var16 = var4 - var3.xInset;
int var17 = var5 - var3.yInset;
if (var2.vmethod3644(2, var4, var5, var3)) {
InterfaceParent.field986 = var4;
UrlRequester.field929 = var5;
return true;
}
for (int var6 = 0; var6 < var5; ++var6) {
char var7 = var0.charAt(var6 + var1);
if (var7 > 0 && var7 < 128 || var7 >= 160 && var7 <= 255) {
var3[var6 + var4] = (byte)var7;
} else if (var7 == 8364) {
var3[var6 + var4] = -128;
} else if (var7 == 8218) {
var3[var6 + var4] = -126;
} else if (var7 == 402) {
var3[var6 + var4] = -125;
} else if (var7 == 8222) {
var3[var6 + var4] = -124;
} else if (var7 == 8230) {
var3[var6 + var4] = -123;
} else if (var7 == 8224) {
var3[var6 + var4] = -122;
} else if (var7 == 8225) {
var3[var6 + var4] = -121;
} else if (var7 == 710) {
var3[var6 + var4] = -120;
} else if (var7 == 8240) {
var3[var6 + var4] = -119;
} else if (var7 == 352) {
var3[var6 + var4] = -118;
} else if (var7 == 8249) {
var3[var6 + var4] = -117;
} else if (var7 == 338) {
var3[var6 + var4] = -116;
} else if (var7 == 381) {
var3[var6 + var4] = -114;
} else if (var7 == 8216) {
var3[var6 + var4] = -111;
} else if (var7 == 8217) {
var3[var6 + var4] = -110;
} else if (var7 == 8220) {
var3[var6 + var4] = -109;
} else if (var7 == 8221) {
var3[var6 + var4] = -108;
} else if (var7 == 8226) {
var3[var6 + var4] = -107;
} else if (var7 == 8211) {
var3[var6 + var4] = -106;
} else if (var7 == 8212) {
var3[var6 + var4] = -105;
} else if (var7 == 732) {
var3[var6 + var4] = -104;
} else if (var7 == 8482) {
var3[var6 + var4] = -103;
} else if (var7 == 353) {
var3[var6 + var4] = -102;
} else if (var7 == 8250) {
var3[var6 + var4] = -101;
} else if (var7 == 339) {
var3[var6 + var4] = -100;
} else if (var7 == 382) {
var3[var6 + var4] = -98;
} else if (var7 == 376) {
var3[var6 + var4] = -97;
} else {
var3[var6 + var4] = 63;
}
}
int var18 = class178.distances[var14][var15] + 1;
if (var14 > 0 && class178.directions[var14 - 1][var15] == 0 && (var13[var16 - 1][var17] & 19136782) == 0 && (var13[var16 - 1][var17 + 1] & 19136824) == 0) {
class178.bufferX[var12] = var4 - 1;
class178.bufferY[var12] = var5;
var12 = var12 + 1 & 4095;
class178.directions[var14 - 1][var15] = 2;
class178.distances[var14 - 1][var15] = var18;
}
return var5;
}
if (var14 < 126 && class178.directions[var14 + 1][var15] == 0 && (var13[var16 + 2][var17] & 19136899) == 0 && (var13[var16 + 2][var17 + 1] & 19136992) == 0) {
class178.bufferX[var12] = var4 + 1;
class178.bufferY[var12] = var5;
var12 = var12 + 1 & 4095;
class178.directions[var14 + 1][var15] = 8;
class178.distances[var14 + 1][var15] = var18;
}
@ObfuscatedName("x")
@ObfuscatedSignature(
signature = "(IIIIIZI)Lly;",
garbageValue = "2024001124"
)
@Export("getItemSprite")
public static final Sprite getItemSprite(int var0, int var1, int var2, int var3, int var4, boolean var5) {
if (var1 == -1) {
var4 = 0;
} else if (var4 == 2 && var1 != 1) {
var4 = 1;
}
if (var15 > 0 && class178.directions[var14][var15 - 1] == 0 && (var13[var16][var17 - 1] & 19136782) == 0 && (var13[var16 + 1][var17 - 1] & 19136899) == 0) {
class178.bufferX[var12] = var4;
class178.bufferY[var12] = var5 - 1;
var12 = var12 + 1 & 4095;
class178.directions[var14][var15 - 1] = 1;
class178.distances[var14][var15 - 1] = var18;
}
long var6 = ((long)var3 << 42) + ((long)var4 << 40) + ((long)var2 << 38) + ((long)var1 << 16) + (long)var0;
Sprite var8;
if (!var5) {
var8 = (Sprite)ItemDefinition.ItemDefinition_cachedSprites.get(var6);
if (var8 != null) {
return var8;
}
}
if (var15 < 126 && class178.directions[var14][var15 + 1] == 0 && (var13[var16][var17 + 2] & 19136824) == 0 && (var13[var16 + 1][var17 + 2] & 19136992) == 0) {
class178.bufferX[var12] = var4;
class178.bufferY[var12] = var5 + 1;
var12 = var12 + 1 & 4095;
class178.directions[var14][var15 + 1] = 4;
class178.distances[var14][var15 + 1] = var18;
}
ItemDefinition var9 = WorldMapArea.getItemDefinition(var0);
if (var1 > 1 && var9.countobj != null) {
int var10 = -1;
if (var14 > 0 && var15 > 0 && class178.directions[var14 - 1][var15 - 1] == 0 && (var13[var16 - 1][var17] & 19136830) == 0 && (var13[var16 - 1][var17 - 1] & 19136782) == 0 && (var13[var16][var17 - 1] & 19136911) == 0) {
class178.bufferX[var12] = var4 - 1;
class178.bufferY[var12] = var5 - 1;
var12 = var12 + 1 & 4095;
class178.directions[var14 - 1][var15 - 1] = 3;
class178.distances[var14 - 1][var15 - 1] = var18;
}
for (int var11 = 0; var11 < 10; ++var11) {
if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) {
var10 = var9.countobj[var11];
}
}
if (var14 < 126 && var15 > 0 && class178.directions[var14 + 1][var15 - 1] == 0 && (var13[var16 + 1][var17 - 1] & 19136911) == 0 && (var13[var16 + 2][var17 - 1] & 19136899) == 0 && (var13[var16 + 2][var17] & 19136995) == 0) {
class178.bufferX[var12] = var4 + 1;
class178.bufferY[var12] = var5 - 1;
var12 = var12 + 1 & 4095;
class178.directions[var14 + 1][var15 - 1] = 9;
class178.distances[var14 + 1][var15 - 1] = var18;
}
if (var10 != -1) {
var9 = WorldMapArea.getItemDefinition(var10);
}
}
if (var14 > 0 && var15 < 126 && class178.directions[var14 - 1][var15 + 1] == 0 && (var13[var16 - 1][var17 + 1] & 19136830) == 0 && (var13[var16 - 1][var17 + 2] & 19136824) == 0 && (var13[var16][var17 + 2] & 19137016) == 0) {
class178.bufferX[var12] = var4 - 1;
class178.bufferY[var12] = var5 + 1;
var12 = var12 + 1 & 4095;
class178.directions[var14 - 1][var15 + 1] = 6;
class178.distances[var14 - 1][var15 + 1] = var18;
}
Model var21 = var9.getModel(1);
if (var21 == null) {
return null;
} else {
Sprite var22 = null;
if (var9.noteTemplate != -1) {
var22 = getItemSprite(var9.note, 10, 1, 0, 0, true);
if (var22 == null) {
return null;
}
} else if (var9.notedId != -1) {
var22 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false);
if (var22 == null) {
return null;
}
} else if (var9.placeholderTemplate != -1) {
var22 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false);
if (var22 == null) {
return null;
}
}
if (var14 < 126 && var15 < 126 && class178.directions[var14 + 1][var15 + 1] == 0 && (var13[var16 + 1][var17 + 2] & 19137016) == 0 && (var13[var16 + 2][var17 + 2] & 19136992) == 0 && (var13[var16 + 2][var17 + 1] & 19136995) == 0) {
class178.bufferX[var12] = var4 + 1;
class178.bufferY[var12] = var5 + 1;
var12 = var12 + 1 & 4095;
class178.directions[var14 + 1][var15 + 1] = 12;
class178.distances[var14 + 1][var15 + 1] = var18;
}
}
int[] var12 = Rasterizer2D.Rasterizer2D_pixels;
int var13 = Rasterizer2D.Rasterizer2D_width;
int var14 = Rasterizer2D.Rasterizer2D_height;
int[] var15 = new int[4];
Rasterizer2D.Rasterizer2D_getClipArray(var15);
var8 = new Sprite(36, 32);
Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32);
Rasterizer2D.Rasterizer2D_clear();
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
Rasterizer3D.method2976(16, 16);
Rasterizer3D.field1768 = false;
if (var9.placeholderTemplate != -1) {
var22.drawAt2(0, 0);
}
InterfaceParent.field986 = var4;
UrlRequester.field929 = var5;
return false;
}
int var16 = var9.zoom2d;
if (var5) {
var16 = (int)((double)var16 * 1.5D);
} else if (var2 == 2) {
var16 = (int)(1.04D * (double)var16);
}
@ObfuscatedName("hc")
@ObfuscatedSignature(
signature = "(ILjava/lang/String;I)V",
garbageValue = "-1850233906"
)
static void method583(int var0, String var1) {
int var2 = Players.Players_count;
int[] var3 = Players.Players_indices;
boolean var4 = false;
Username var5 = new Username(var1, KeyHandler.loginType);
int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16;
int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16;
var21.calculateBoundsCylinder();
var21.method2866(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var21.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d);
if (var9.notedId != -1) {
var22.drawAt2(0, 0);
}
for (int var6 = 0; var6 < var2; ++var6) {
Player var7 = Client.players[var3[var6]];
if (var7 != null && var7 != Canvas.localPlayer && var7.username != null && var7.username.equals(var5)) {
PacketBufferNode var8;
if (var0 == 1) {
var8 = Interpreter.method1915(ClientPacket.field269, Client.packetWriter.isaacCipher);
var8.packetBuffer.writeShort(var3[var6]);
var8.packetBuffer.method56(0);
Client.packetWriter.method241(var8);
} else if (var0 == 4) {
var8 = Interpreter.method1915(ClientPacket.field249, Client.packetWriter.isaacCipher);
var8.packetBuffer.method64(var3[var6]);
var8.packetBuffer.method56(0);
Client.packetWriter.method241(var8);
} else if (var0 == 6) {
var8 = Interpreter.method1915(ClientPacket.field315, Client.packetWriter.isaacCipher);
var8.packetBuffer.method63(var3[var6]);
var8.packetBuffer.method57(0);
Client.packetWriter.method241(var8);
} else if (var0 == 7) {
var8 = Interpreter.method1915(ClientPacket.field297, Client.packetWriter.isaacCipher);
var8.packetBuffer.method57(0);
var8.packetBuffer.writeShortLE(var3[var6]);
Client.packetWriter.method241(var8);
}
if (var2 >= 1) {
var8.outline(1);
}
var4 = true;
break;
}
}
if (var2 >= 2) {
var8.outline(16777215);
}
if (!var4) {
WorldMapIcon1.addGameMessage(4, "", "Unable to find " + var1);
}
if (var3 != 0) {
var8.shadow(var3);
}
}
Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32);
if (var9.noteTemplate != -1) {
var22.drawAt2(0, 0);
}
if (var4 == 1 || var4 == 2 && var9.isStackable == 1) {
Font var19 = HealthBar.ItemDefinition_fontPlain11;
String var20;
if (var1 < 100000) {
var20 = "<col=ffff00>" + var1 + "</col>";
} else if (var1 < 10000000) {
var20 = "<col=ffffff>" + var1 / 1000 + "K" + "</col>";
} else {
var20 = "<col=00ff80>" + var1 / 1000000 + "M" + "</col>";
}
var19.draw(var20, 0, 9, 16776960, 1);
}
if (!var5) {
ItemDefinition.ItemDefinition_cachedSprites.put(var8, var6);
}
Rasterizer2D.Rasterizer2D_replace(var12, var13, var14);
Rasterizer2D.Rasterizer2D_setClipArray(var15);
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
Rasterizer3D.field1768 = true;
return var8;
}
}
@ObfuscatedName("fr")
@ObfuscatedSignature(
signature = "(Lis;IIII)V",
garbageValue = "282707669"
)
@Export("addSequenceSoundEffect")
static void addSequenceSoundEffect(SequenceDefinition var0, int var1, int var2, int var3) {
if (Client.soundEffectCount < 50 && Client.field892 != 0) {
if (var0.soundEffects != null && var1 < var0.soundEffects.length) {
int var4 = var0.soundEffects[var1];
if (var4 != 0) {
int var5 = var4 >> 8;
int var6 = var4 >> 4 & 7;
int var7 = var4 & 15;
Client.soundEffectIds[Client.soundEffectCount] = var5;
Client.queuedSoundEffectLoops[Client.soundEffectCount] = var6;
Client.queuedSoundEffectDelays[Client.soundEffectCount] = 0;
Client.soundEffects[Client.soundEffectCount] = null;
int var8 = (var2 - 64) / 128;
int var9 = (var3 - 64) / 128;
Client.soundLocations[Client.soundEffectCount] = var7 + (var9 << 8) + (var8 << 16);
++Client.soundEffectCount;
}
}
}
}
}