357 lines
12 KiB
Java
357 lines
12 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("ir")
|
|
@Implements("VarcInt")
|
|
public class VarcInt extends DualNode {
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
signature = "Lhz;"
|
|
)
|
|
@Export("VarcInt_archive")
|
|
public static AbstractArchive VarcInt_archive;
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedSignature(
|
|
signature = "Leb;"
|
|
)
|
|
@Export("VarcInt_cached")
|
|
static EvictingDualNodeHashTable VarcInt_cached;
|
|
@ObfuscatedName("y")
|
|
@Export("persist")
|
|
public boolean persist;
|
|
|
|
static {
|
|
VarcInt_cached = new EvictingDualNodeHashTable(64);
|
|
}
|
|
|
|
VarcInt() {
|
|
this.persist = false;
|
|
}
|
|
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lkq;I)V",
|
|
garbageValue = "824733769"
|
|
)
|
|
void method4388(Buffer var1) {
|
|
while (true) {
|
|
int var2 = var1.readUnsignedByte();
|
|
if (var2 == 0) {
|
|
return;
|
|
}
|
|
|
|
this.method4387(var1, var2);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("y")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lkq;II)V",
|
|
garbageValue = "-793810965"
|
|
)
|
|
void method4387(Buffer var1, int var2) {
|
|
if (var2 == 2) {
|
|
this.persist = true;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("hk")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIIIII)V",
|
|
garbageValue = "11345169"
|
|
)
|
|
@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 != UrlRequest.Client_plane) {
|
|
return;
|
|
}
|
|
|
|
long var7 = 0L;
|
|
boolean var9 = true;
|
|
boolean var10 = false;
|
|
boolean var11 = false;
|
|
if (var1 == 0) {
|
|
var7 = class14.scene.getBoundaryObjectTag(var0, var2, var3);
|
|
}
|
|
|
|
if (var1 == 1) {
|
|
var7 = class14.scene.getWallDecorationTag(var0, var2, var3);
|
|
}
|
|
|
|
if (var1 == 2) {
|
|
var7 = class14.scene.getGameObjectTag(var0, var2, var3);
|
|
}
|
|
|
|
if (var1 == 3) {
|
|
var7 = class14.scene.getFloorDecorationTag(var0, var2, var3);
|
|
}
|
|
|
|
int var12;
|
|
if (0L != var7) {
|
|
var12 = class14.scene.getObjectFlags(var0, var2, var3, var7);
|
|
int var39 = class2.Entity_unpackID(var7);
|
|
int var40 = var12 & 31;
|
|
int var41 = var12 >> 6 & 3;
|
|
ObjectDefinition var13;
|
|
if (var1 == 0) {
|
|
class14.scene.removeBoundaryObject(var0, var2, var3);
|
|
var13 = Coord.getObjectDefinition(var39);
|
|
if (var13.interactType != 0) {
|
|
Client.collisionMaps[var0].method3534(var2, var3, var40, var41, var13.boolean1);
|
|
}
|
|
}
|
|
|
|
if (var1 == 1) {
|
|
class14.scene.removeWallDecoration(var0, var2, var3);
|
|
}
|
|
|
|
if (var1 == 2) {
|
|
class14.scene.removeGameObject(var0, var2, var3);
|
|
var13 = Coord.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) {
|
|
class14.scene.removeFloorDecoration(var0, var2, var3);
|
|
var13 = Coord.getObjectDefinition(var39);
|
|
if (var13.interactType == 1) {
|
|
Client.collisionMaps[var0].method3535(var2, var3);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var4 >= 0) {
|
|
var12 = var0;
|
|
if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) {
|
|
var12 = var0 + 1;
|
|
}
|
|
|
|
Scene var42 = class14.scene;
|
|
CollisionMap var14 = Client.collisionMaps[var0];
|
|
ObjectDefinition var15 = Coord.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 = KeyHandler.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.method3141(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.field499[var5], 0, var26, var28);
|
|
if (var15.interactType != 0) {
|
|
var14.method3552(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.field500[var5], 0, var26, var28);
|
|
if (var15.interactType != 0) {
|
|
var14.method3552(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.field499[var5], Tiles.field499[var35], var26, var28);
|
|
if (var15.interactType != 0) {
|
|
var14.method3552(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.field500[var5], 0, var26, var28);
|
|
if (var15.interactType != 0) {
|
|
var14.method3552(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.method3141(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.field499[var5], 0, 0, 0, var26, var28);
|
|
} else {
|
|
Object var32;
|
|
long var36;
|
|
if (var6 == 5) {
|
|
var35 = 16;
|
|
var36 = var42.getBoundaryObjectTag(var0, var2, var3);
|
|
if (0L != var36) {
|
|
var35 = Coord.getObjectDefinition(class2.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.field499[var5], 0, var35 * Tiles.field506[var5], var35 * Tiles.field502[var5], var26, var28);
|
|
} else if (var6 == 6) {
|
|
var35 = 8;
|
|
var36 = var42.getBoundaryObjectTag(var0, var2, var3);
|
|
if (var36 != 0L) {
|
|
var35 = Coord.getObjectDefinition(class2.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.field503[var5], var35 * Tiles.field504[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 (0L != var36) {
|
|
var35 = Coord.getObjectDefinition(class2.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.field503[var5], var35 * Tiles.field504[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.method3141(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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|