399 lines
16 KiB
Java
399 lines
16 KiB
Java
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("jb")
|
|
@Implements("ParamDefinition")
|
|
public class ParamDefinition extends DualNode {
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "Lir;"
|
|
)
|
|
@Export("ParamDefinition_archive")
|
|
public static AbstractArchive ParamDefinition_archive;
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
signature = "Ler;"
|
|
)
|
|
@Export("ParamDefinition_cached")
|
|
static EvictingDualNodeHashTable ParamDefinition_cached;
|
|
@ObfuscatedName("q")
|
|
@Export("type")
|
|
char type;
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedGetter(
|
|
intValue = 1133042753
|
|
)
|
|
@Export("defaultInt")
|
|
public int defaultInt;
|
|
@ObfuscatedName("o")
|
|
@Export("defaultStr")
|
|
public String defaultStr;
|
|
@ObfuscatedName("u")
|
|
@Export("autoDisable")
|
|
boolean autoDisable;
|
|
|
|
ParamDefinition() {
|
|
this.autoDisable = true;
|
|
}
|
|
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)V",
|
|
garbageValue = "121"
|
|
)
|
|
@Export("postDecode")
|
|
void postDecode() {
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lgr;I)V",
|
|
garbageValue = "-975533635"
|
|
)
|
|
@Export("decode")
|
|
void decode(Buffer var1) {
|
|
while (true) {
|
|
int var2 = var1.readUnsignedByte();
|
|
if (var2 == 0) {
|
|
return;
|
|
}
|
|
|
|
this.decodeNext(var1, var2);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lgr;II)V",
|
|
garbageValue = "1664350313"
|
|
)
|
|
@Export("decodeNext")
|
|
void decodeNext(Buffer var1, int var2) {
|
|
if (var2 == 1) {
|
|
this.type = class14.method171(var1.readByte());
|
|
} else if (var2 == 2) {
|
|
this.defaultInt = var1.readInt();
|
|
} else if (var2 == 4) {
|
|
this.autoDisable = false;
|
|
} else if (var2 == 5) {
|
|
this.defaultStr = var1.readStringCp1252NullTerminated();
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Z",
|
|
garbageValue = "-1897943299"
|
|
)
|
|
@Export("isString")
|
|
public boolean isString() {
|
|
return this.type == 's';
|
|
}
|
|
|
|
@ObfuscatedName("hs")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIIIII)V",
|
|
garbageValue = "-904254947"
|
|
)
|
|
@Export("addPendingSpawnToScene")
|
|
static final void addPendingSpawnToScene(int plane, int objectType, int x, int y, int id, int orientation, int var6) {
|
|
if (x >= 1 && y >= 1 && x <= 102 && y <= 102) {
|
|
if (Client.isLowDetail && plane != SoundSystem.plane) {
|
|
return;
|
|
}
|
|
|
|
long var7 = 0L;
|
|
boolean var9 = true;
|
|
boolean var10 = false;
|
|
boolean var11 = false;
|
|
if (objectType == 0) {
|
|
var7 = class65.scene.getBoundaryObjectTag(plane, x, y);
|
|
}
|
|
|
|
if (objectType == 1) {
|
|
var7 = class65.scene.getWallDecorationTag(plane, x, y);
|
|
}
|
|
|
|
if (objectType == 2) {
|
|
var7 = class65.scene.getGameObjectTag(plane, x, y);
|
|
}
|
|
|
|
if (objectType == 3) {
|
|
var7 = class65.scene.getFloorDecorationTag(plane, x, y);
|
|
}
|
|
|
|
int var12;
|
|
if (0L != var7) {
|
|
var12 = class65.scene.getObjectFlags(plane, x, y, var7);
|
|
int var13 = HitSplatDefinition.method4972(var7);
|
|
int var14 = var12 & 31;
|
|
int var15 = var12 >> 6 & 3;
|
|
ObjectDefinition var16;
|
|
if (objectType == 0) {
|
|
class65.scene.removeBoundaryObject(plane, x, y);
|
|
var16 = class50.getObjectDefinition(var13);
|
|
if (var16.interactType != 0) {
|
|
Client.collisionMaps[plane].method95(x, y, var14, var15, var16.boolean1);
|
|
}
|
|
}
|
|
|
|
if (objectType == 1) {
|
|
class65.scene.removeWallDecoration(plane, x, y);
|
|
}
|
|
|
|
if (objectType == 2) {
|
|
class65.scene.method288(plane, x, y);
|
|
var16 = class50.getObjectDefinition(var13);
|
|
if (x + var16.sizeX > 103 || y + var16.sizeX > 103 || x + var16.sizeY > 103 || y + var16.sizeY > 103) {
|
|
return;
|
|
}
|
|
|
|
if (var16.interactType != 0) {
|
|
Client.collisionMaps[plane].method96(x, y, var16.sizeX, var16.sizeY, var15, var16.boolean1);
|
|
}
|
|
}
|
|
|
|
if (objectType == 3) {
|
|
class65.scene.removeFloorDecoration(plane, x, y);
|
|
var16 = class50.getObjectDefinition(var13);
|
|
if (var16.interactType == 1) {
|
|
Client.collisionMaps[plane].method98(x, y);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (id >= 0) {
|
|
var12 = plane;
|
|
if (plane < 3 && (Tiles.Tiles_renderFlags[1][x][y] & 2) == 2) {
|
|
var12 = plane + 1;
|
|
}
|
|
|
|
Scene var36 = class65.scene;
|
|
CollisionMap var37 = Client.collisionMaps[plane];
|
|
ObjectDefinition var38 = class50.getObjectDefinition(id);
|
|
int var17;
|
|
int var39;
|
|
if (orientation != 1 && orientation != 3) {
|
|
var17 = var38.sizeX;
|
|
var39 = var38.sizeY;
|
|
} else {
|
|
var17 = var38.sizeY;
|
|
var39 = var38.sizeX;
|
|
}
|
|
|
|
int var18;
|
|
int var19;
|
|
if (var17 + x <= 104) {
|
|
var18 = (var17 >> 1) + x;
|
|
var19 = x + (var17 + 1 >> 1);
|
|
} else {
|
|
var18 = x;
|
|
var19 = x + 1;
|
|
}
|
|
|
|
int var20;
|
|
int var21;
|
|
if (y + var39 <= 104) {
|
|
var20 = y + (var39 >> 1);
|
|
var21 = y + (var39 + 1 >> 1);
|
|
} else {
|
|
var20 = y;
|
|
var21 = y + 1;
|
|
}
|
|
|
|
int[][] var22 = Tiles.Tiles_heights[var12];
|
|
int var23 = var22[var18][var21] + var22[var19][var20] + var22[var18][var20] + var22[var19][var21] >> 2;
|
|
int var24 = (x << 7) + (var17 << 6);
|
|
int var25 = (y << 7) + (var39 << 6);
|
|
long var26 = FontName.calculateTag(x, y, 2, var38.int1 == 0, id);
|
|
int var28 = (orientation << 6) + var6;
|
|
if (var38.int3 == 1) {
|
|
var28 += 256;
|
|
}
|
|
|
|
Object var29;
|
|
if (var6 == 22) {
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var29 = var38.getModel(22, orientation, var22, var24, var23, var25);
|
|
} else {
|
|
var29 = new DynamicObject(id, 22, orientation, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.newFloorDecoration(plane, x, y, var23, (Entity)var29, var26, var28);
|
|
if (var38.interactType == 1) {
|
|
var37.method93(x, y);
|
|
}
|
|
} else if (var6 != 10 && var6 != 11) {
|
|
if (var6 >= 12) {
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var29 = var38.getModel(var6, orientation, var22, var24, var23, var25);
|
|
} else {
|
|
var29 = new DynamicObject(id, var6, orientation, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.method284(plane, x, y, var23, 1, 1, (Entity)var29, 0, var26, var28);
|
|
if (var38.interactType != 0) {
|
|
var37.method91(x, y, var17, var39, var38.boolean1);
|
|
}
|
|
} else if (var6 == 0) {
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var29 = var38.getModel(0, orientation, var22, var24, var23, var25);
|
|
} else {
|
|
var29 = new DynamicObject(id, 0, orientation, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.newBoundaryObject(plane, x, y, var23, (Entity)var29, (Entity)null, Tiles.field911[orientation], 0, var26, var28);
|
|
if (var38.interactType != 0) {
|
|
var37.method90(x, y, var6, orientation, var38.boolean1);
|
|
}
|
|
} else if (var6 == 1) {
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var29 = var38.getModel(1, orientation, var22, var24, var23, var25);
|
|
} else {
|
|
var29 = new DynamicObject(id, 1, orientation, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.newBoundaryObject(plane, x, y, var23, (Entity)var29, (Entity)null, Tiles.field912[orientation], 0, var26, var28);
|
|
if (var38.interactType != 0) {
|
|
var37.method90(x, y, var6, orientation, var38.boolean1);
|
|
}
|
|
} else {
|
|
int var30;
|
|
Object var31;
|
|
if (var6 == 2) {
|
|
var30 = orientation + 1 & 3;
|
|
Object var32;
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var31 = var38.getModel(2, orientation + 4, var22, var24, var23, var25);
|
|
var32 = var38.getModel(2, var30, var22, var24, var23, var25);
|
|
} else {
|
|
var31 = new DynamicObject(id, 2, orientation + 4, var12, x, y, var38.animationId, true, (Entity)null);
|
|
var32 = new DynamicObject(id, 2, var30, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.newBoundaryObject(plane, x, y, var23, (Entity)var31, (Entity)var32, Tiles.field911[orientation], Tiles.field911[var30], var26, var28);
|
|
if (var38.interactType != 0) {
|
|
var37.method90(x, y, var6, orientation, var38.boolean1);
|
|
}
|
|
} else if (var6 == 3) {
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var29 = var38.getModel(3, orientation, var22, var24, var23, var25);
|
|
} else {
|
|
var29 = new DynamicObject(id, 3, orientation, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.newBoundaryObject(plane, x, y, var23, (Entity)var29, (Entity)null, Tiles.field912[orientation], 0, var26, var28);
|
|
if (var38.interactType != 0) {
|
|
var37.method90(x, y, var6, orientation, var38.boolean1);
|
|
}
|
|
} else if (var6 == 9) {
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var29 = var38.getModel(var6, orientation, var22, var24, var23, var25);
|
|
} else {
|
|
var29 = new DynamicObject(id, var6, orientation, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.method284(plane, x, y, var23, 1, 1, (Entity)var29, 0, var26, var28);
|
|
if (var38.interactType != 0) {
|
|
var37.method91(x, y, var17, var39, var38.boolean1);
|
|
}
|
|
} else if (var6 == 4) {
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var29 = var38.getModel(4, orientation, var22, var24, var23, var25);
|
|
} else {
|
|
var29 = new DynamicObject(id, 4, orientation, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.newWallDecoration(plane, x, y, var23, (Entity)var29, (Entity)null, Tiles.field911[orientation], 0, 0, 0, var26, var28);
|
|
} else {
|
|
long var40;
|
|
if (var6 == 5) {
|
|
var30 = 16;
|
|
var40 = var36.getBoundaryObjectTag(plane, x, y);
|
|
if (var40 != 0L) {
|
|
var30 = class50.getObjectDefinition(HitSplatDefinition.method4972(var40)).int2;
|
|
}
|
|
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var31 = var38.getModel(4, orientation, var22, var24, var23, var25);
|
|
} else {
|
|
var31 = new DynamicObject(id, 4, orientation, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.newWallDecoration(plane, x, y, var23, (Entity)var31, (Entity)null, Tiles.field911[orientation], 0, var30 * Tiles.field913[orientation], var30 * Tiles.field914[orientation], var26, var28);
|
|
} else if (var6 == 6) {
|
|
var30 = 8;
|
|
var40 = var36.getBoundaryObjectTag(plane, x, y);
|
|
if (var40 != 0L) {
|
|
var30 = class50.getObjectDefinition(HitSplatDefinition.method4972(var40)).int2 / 2;
|
|
}
|
|
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var31 = var38.getModel(4, orientation + 4, var22, var24, var23, var25);
|
|
} else {
|
|
var31 = new DynamicObject(id, 4, orientation + 4, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.newWallDecoration(plane, x, y, var23, (Entity)var31, (Entity)null, 256, orientation, var30 * Tiles.field915[orientation], var30 * Tiles.field916[orientation], var26, var28);
|
|
} else {
|
|
int var34;
|
|
if (var6 == 7) {
|
|
var34 = orientation + 2 & 3;
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var29 = var38.getModel(4, var34 + 4, var22, var24, var23, var25);
|
|
} else {
|
|
var29 = new DynamicObject(id, 4, var34 + 4, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.newWallDecoration(plane, x, y, var23, (Entity)var29, (Entity)null, 256, var34, 0, 0, var26, var28);
|
|
} else if (var6 == 8) {
|
|
var30 = 8;
|
|
var40 = var36.getBoundaryObjectTag(plane, x, y);
|
|
if (var40 != 0L) {
|
|
var30 = class50.getObjectDefinition(HitSplatDefinition.method4972(var40)).int2 / 2;
|
|
}
|
|
|
|
var34 = orientation + 2 & 3;
|
|
Object var35;
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var31 = var38.getModel(4, orientation + 4, var22, var24, var23, var25);
|
|
var35 = var38.getModel(4, var34 + 4, var22, var24, var23, var25);
|
|
} else {
|
|
var31 = new DynamicObject(id, 4, orientation + 4, var12, x, y, var38.animationId, true, (Entity)null);
|
|
var35 = new DynamicObject(id, 4, var34 + 4, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
var36.newWallDecoration(plane, x, y, var23, (Entity)var31, (Entity)var35, 256, orientation, var30 * Tiles.field915[orientation], var30 * Tiles.field916[orientation], var26, var28);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
if (var38.animationId == -1 && var38.transforms == null) {
|
|
var29 = var38.getModel(10, orientation, var22, var24, var23, var25);
|
|
} else {
|
|
var29 = new DynamicObject(id, 10, orientation, var12, x, y, var38.animationId, true, (Entity)null);
|
|
}
|
|
|
|
if (var29 != null) {
|
|
var36.method284(plane, x, y, var23, var17, var39, (Entity)var29, var6 == 11 ? 256 : 0, var26, var28);
|
|
}
|
|
|
|
if (var38.interactType != 0) {
|
|
var37.method91(x, y, var17, var39, var38.boolean1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
static {
|
|
ParamDefinition_cached = new EvictingDualNodeHashTable(64);
|
|
}
|
|
}
|