Files
runelite/runescape-client/src/main/java/ObjectComposition.java

988 lines
24 KiB
Java

import java.net.URL;
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("ff")
@Implements("ObjectComposition")
public class ObjectComposition extends DualNode {
@ObfuscatedName("n")
@Export("ObjectDefinition_isLowDetail")
public static boolean ObjectDefinition_isLowDetail;
@ObfuscatedName("c")
@ObfuscatedSignature(
descriptor = "Lkk;"
)
@Export("ObjectDefinition_archive")
public static AbstractArchive ObjectDefinition_archive;
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "Lkk;"
)
@Export("ObjectDefinition_modelsArchive")
public static AbstractArchive ObjectDefinition_modelsArchive;
@ObfuscatedName("k")
@ObfuscatedSignature(
descriptor = "Lim;"
)
@Export("ObjectDefinition_cached")
public static EvictingDualNodeHashTable ObjectDefinition_cached;
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "Lim;"
)
@Export("ObjectDefinition_cachedModelData")
public static EvictingDualNodeHashTable ObjectDefinition_cachedModelData;
@ObfuscatedName("g")
@ObfuscatedSignature(
descriptor = "Lim;"
)
@Export("ObjectDefinition_cachedEntities")
public static EvictingDualNodeHashTable ObjectDefinition_cachedEntities;
@ObfuscatedName("z")
@ObfuscatedSignature(
descriptor = "Lim;"
)
@Export("ObjectDefinition_cachedModels")
public static EvictingDualNodeHashTable ObjectDefinition_cachedModels;
@ObfuscatedName("a")
@ObfuscatedSignature(
descriptor = "[Lgl;"
)
static ModelData[] field1825;
@ObfuscatedName("ec")
@ObfuscatedSignature(
descriptor = "Lkx;"
)
@Export("archive5")
static Archive archive5;
@ObfuscatedName("u")
@ObfuscatedGetter(
intValue = -1044328551
)
@Export("id")
public int id;
@ObfuscatedName("e")
@Export("modelIds")
int[] modelIds;
@ObfuscatedName("l")
@Export("models")
int[] models;
@ObfuscatedName("y")
@Export("name")
public String name;
@ObfuscatedName("v")
@Export("recolorFrom")
short[] recolorFrom;
@ObfuscatedName("f")
@Export("recolorTo")
short[] recolorTo;
@ObfuscatedName("s")
@Export("retextureFrom")
short[] retextureFrom;
@ObfuscatedName("h")
@Export("retextureTo")
short[] retextureTo;
@ObfuscatedName("d")
@ObfuscatedGetter(
intValue = -1836042659
)
@Export("sizeX")
public int sizeX;
@ObfuscatedName("q")
@ObfuscatedGetter(
intValue = -1683838953
)
@Export("sizeY")
public int sizeY;
@ObfuscatedName("j")
@ObfuscatedGetter(
intValue = 829915011
)
@Export("interactType")
public int interactType;
@ObfuscatedName("x")
@Export("boolean1")
public boolean boolean1;
@ObfuscatedName("b")
@ObfuscatedGetter(
intValue = 1322187909
)
@Export("int1")
public int int1;
@ObfuscatedName("t")
@ObfuscatedGetter(
intValue = 108702019
)
@Export("clipType")
int clipType;
@ObfuscatedName("r")
@Export("nonFlatShading")
boolean nonFlatShading;
@ObfuscatedName("p")
@Export("modelClipped")
public boolean modelClipped;
@ObfuscatedName("w")
@ObfuscatedGetter(
intValue = 2147348083
)
@Export("animationId")
public int animationId;
@ObfuscatedName("i")
@ObfuscatedGetter(
intValue = 1278892535
)
@Export("int2")
public int int2;
@ObfuscatedName("aq")
@ObfuscatedGetter(
intValue = -1520041239
)
@Export("ambient")
int ambient;
@ObfuscatedName("ad")
@ObfuscatedGetter(
intValue = 820858291
)
@Export("contrast")
int contrast;
@ObfuscatedName("al")
@Export("actions")
public String[] actions;
@ObfuscatedName("aa")
@ObfuscatedGetter(
intValue = -672286997
)
@Export("mapIconId")
public int mapIconId;
@ObfuscatedName("aw")
@ObfuscatedGetter(
intValue = -1868083565
)
@Export("mapSceneId")
public int mapSceneId;
@ObfuscatedName("at")
@Export("isRotated")
boolean isRotated;
@ObfuscatedName("as")
@Export("clipped")
public boolean clipped;
@ObfuscatedName("ae")
@ObfuscatedGetter(
intValue = -209037363
)
@Export("modelSizeX")
int modelSizeX;
@ObfuscatedName("av")
@ObfuscatedGetter(
intValue = 26817019
)
@Export("modelHeight")
int modelHeight;
@ObfuscatedName("ak")
@ObfuscatedGetter(
intValue = -1579724339
)
@Export("modelSizeY")
int modelSizeY;
@ObfuscatedName("an")
@ObfuscatedGetter(
intValue = 825551813
)
@Export("offsetX")
int offsetX;
@ObfuscatedName("ab")
@ObfuscatedGetter(
intValue = 1367346881
)
@Export("offsetHeight")
int offsetHeight;
@ObfuscatedName("au")
@ObfuscatedGetter(
intValue = 141493519
)
@Export("offsetY")
int offsetY;
@ObfuscatedName("am")
@Export("boolean2")
public boolean boolean2;
@ObfuscatedName("ao")
@Export("isSolid")
boolean isSolid;
@ObfuscatedName("ay")
@ObfuscatedGetter(
intValue = -1902505869
)
@Export("int3")
public int int3;
@ObfuscatedName("aj")
@Export("transforms")
public int[] transforms;
@ObfuscatedName("ap")
@ObfuscatedGetter(
intValue = -1557220695
)
@Export("transformVarbit")
int transformVarbit;
@ObfuscatedName("ai")
@ObfuscatedGetter(
intValue = -1088768559
)
@Export("transformVarp")
int transformVarp;
@ObfuscatedName("ac")
@ObfuscatedGetter(
intValue = 1374180849
)
@Export("ambientSoundId")
public int ambientSoundId;
@ObfuscatedName("ag")
@ObfuscatedGetter(
intValue = 883575663
)
public int int7;
@ObfuscatedName("ar")
@ObfuscatedGetter(
intValue = -154554887
)
@Export("int5")
public int int5;
@ObfuscatedName("az")
@ObfuscatedGetter(
intValue = 2024942233
)
@Export("int6")
public int int6;
@ObfuscatedName("ah")
@Export("soundEffectIds")
public int[] soundEffectIds;
@ObfuscatedName("af")
public boolean boolean3;
@ObfuscatedName("ax")
@ObfuscatedSignature(
descriptor = "Lnz;"
)
@Export("params")
IterableNodeHashTable params;
static {
ObjectDefinition_isLowDetail = false;
ObjectDefinition_cached = new EvictingDualNodeHashTable(4096);
ObjectDefinition_cachedModelData = new EvictingDualNodeHashTable(500);
ObjectDefinition_cachedEntities = new EvictingDualNodeHashTable(30);
ObjectDefinition_cachedModels = new EvictingDualNodeHashTable(30);
field1825 = new ModelData[4];
}
ObjectComposition() {
this.name = "null";
this.sizeX = 1;
this.sizeY = 1;
this.interactType = 2;
this.boolean1 = true;
this.int1 = -1;
this.clipType = -1;
this.nonFlatShading = false;
this.modelClipped = false;
this.animationId = -1;
this.int2 = 16;
this.ambient = 0;
this.contrast = 0;
this.actions = new String[5];
this.mapIconId = -1;
this.mapSceneId = -1;
this.isRotated = false;
this.clipped = true;
this.modelSizeX = 128;
this.modelHeight = 128;
this.modelSizeY = 128;
this.offsetX = 0;
this.offsetHeight = 0;
this.offsetY = 0;
this.boolean2 = false;
this.isSolid = false;
this.int3 = -1;
this.transformVarbit = -1;
this.transformVarp = -1;
this.ambientSoundId = -1;
this.int7 = 0;
this.int5 = 0;
this.int6 = 0;
this.boolean3 = true;
}
@ObfuscatedName("c")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-178081733"
)
@Export("postDecode")
void postDecode() {
if (this.int1 == -1) {
this.int1 = 0;
if (this.modelIds != null && (this.models == null || this.models[0] == 10)) {
this.int1 = 1;
}
for (int var1 = 0; var1 < 5; ++var1) {
if (this.actions[var1] != null) {
this.int1 = 1;
}
}
}
if (this.int3 == -1) {
this.int3 = this.interactType != 0 ? 1 : 0;
}
}
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "(Lot;B)V",
garbageValue = "1"
)
@Export("decode")
void decode(Buffer var1) {
while (true) {
int var2 = var1.readUnsignedByte();
if (var2 == 0) {
return;
}
this.decodeNext(var1, var2);
}
}
@ObfuscatedName("k")
@ObfuscatedSignature(
descriptor = "(Lot;II)V",
garbageValue = "2141484475"
)
@Export("decodeNext")
void decodeNext(Buffer var1, int var2) {
int var3;
int var4;
if (var2 == 1) {
var3 = var1.readUnsignedByte();
if (var3 > 0) {
if (this.modelIds != null && !ObjectDefinition_isLowDetail) {
var1.offset += 3 * var3;
} else {
this.models = new int[var3];
this.modelIds = new int[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.modelIds[var4] = var1.readUnsignedShort();
this.models[var4] = var1.readUnsignedByte();
}
}
}
} else if (var2 == 2) {
this.name = var1.readStringCp1252NullTerminated();
} else if (var2 == 5) {
var3 = var1.readUnsignedByte();
if (var3 > 0) {
if (this.modelIds != null && !ObjectDefinition_isLowDetail) {
var1.offset += var3 * 2;
} else {
this.models = null;
this.modelIds = new int[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.modelIds[var4] = var1.readUnsignedShort();
}
}
}
} else if (var2 == 14) {
this.sizeX = var1.readUnsignedByte();
} else if (var2 == 15) {
this.sizeY = var1.readUnsignedByte();
} else if (var2 == 17) {
this.interactType = 0;
this.boolean1 = false;
} else if (var2 == 18) {
this.boolean1 = false;
} else if (var2 == 19) {
this.int1 = var1.readUnsignedByte();
} else if (var2 == 21) {
this.clipType = 0;
} else if (var2 == 22) {
this.nonFlatShading = true;
} else if (var2 == 23) {
this.modelClipped = true;
} else if (var2 == 24) {
this.animationId = var1.readUnsignedShort();
if (this.animationId == 65535) {
this.animationId = -1;
}
} else if (var2 == 27) {
this.interactType = 1;
} else if (var2 == 28) {
this.int2 = var1.readUnsignedByte();
} else if (var2 == 29) {
this.ambient = var1.readByte();
} else if (var2 == 39) {
this.contrast = var1.readByte() * 25;
} else if (var2 >= 30 && var2 < 35) {
this.actions[var2 - 30] = var1.readStringCp1252NullTerminated();
if (this.actions[var2 - 30].equalsIgnoreCase("Hidden")) {
this.actions[var2 - 30] = null;
}
} else if (var2 == 40) {
var3 = var1.readUnsignedByte();
this.recolorFrom = new short[var3];
this.recolorTo = new short[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.recolorFrom[var4] = (short)var1.readUnsignedShort();
this.recolorTo[var4] = (short)var1.readUnsignedShort();
}
} else if (var2 == 41) {
var3 = var1.readUnsignedByte();
this.retextureFrom = new short[var3];
this.retextureTo = new short[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.retextureFrom[var4] = (short)var1.readUnsignedShort();
this.retextureTo[var4] = (short)var1.readUnsignedShort();
}
} else if (var2 == 61) {
var1.readUnsignedShort();
} else if (var2 == 62) {
this.isRotated = true;
} else if (var2 == 64) {
this.clipped = false;
} else if (var2 == 65) {
this.modelSizeX = var1.readUnsignedShort();
} else if (var2 == 66) {
this.modelHeight = var1.readUnsignedShort();
} else if (var2 == 67) {
this.modelSizeY = var1.readUnsignedShort();
} else if (var2 == 68) {
this.mapSceneId = var1.readUnsignedShort();
} else if (var2 == 69) {
var1.readUnsignedByte();
} else if (var2 == 70) {
this.offsetX = var1.readShort();
} else if (var2 == 71) {
this.offsetHeight = var1.readShort();
} else if (var2 == 72) {
this.offsetY = var1.readShort();
} else if (var2 == 73) {
this.boolean2 = true;
} else if (var2 == 74) {
this.isSolid = true;
} else if (var2 == 75) {
this.int3 = var1.readUnsignedByte();
} else if (var2 != 77 && var2 != 92) {
if (var2 == 78) {
this.ambientSoundId = var1.readUnsignedShort();
this.int7 = var1.readUnsignedByte();
} else if (var2 == 79) {
this.int5 = var1.readUnsignedShort();
this.int6 = var1.readUnsignedShort();
this.int7 = var1.readUnsignedByte();
var3 = var1.readUnsignedByte();
this.soundEffectIds = new int[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.soundEffectIds[var4] = var1.readUnsignedShort();
}
} else if (var2 == 81) {
this.clipType = var1.readUnsignedByte() * 256;
} else if (var2 == 82) {
this.mapIconId = var1.readUnsignedShort();
} else if (var2 == 89) {
this.boolean3 = false;
} else if (var2 == 249) {
this.params = class123.readStringIntParameters(var1, this.params);
}
} else {
this.transformVarbit = var1.readUnsignedShort();
if (this.transformVarbit == 65535) {
this.transformVarbit = -1;
}
this.transformVarp = var1.readUnsignedShort();
if (this.transformVarp == 65535) {
this.transformVarp = -1;
}
var3 = -1;
if (var2 == 92) {
var3 = var1.readUnsignedShort();
if (var3 == 65535) {
var3 = -1;
}
}
var4 = var1.readUnsignedByte();
this.transforms = new int[var4 + 2];
for (int var5 = 0; var5 <= var4; ++var5) {
this.transforms[var5] = var1.readUnsignedShort();
if (this.transforms[var5] == 65535) {
this.transforms[var5] = -1;
}
}
this.transforms[var4 + 1] = var3;
}
}
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "(II)Z",
garbageValue = "1735527188"
)
public final boolean method3128(int var1) {
if (this.models != null) {
for (int var4 = 0; var4 < this.models.length; ++var4) {
if (this.models[var4] == var1) {
return ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var4] & 65535, 0);
}
}
return true;
} else if (this.modelIds == null) {
return true;
} else if (var1 != 10) {
return true;
} else {
boolean var2 = true;
for (int var3 = 0; var3 < this.modelIds.length; ++var3) {
var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var3] & 65535, 0);
}
return var2;
}
}
@ObfuscatedName("g")
@ObfuscatedSignature(
descriptor = "(B)Z",
garbageValue = "-74"
)
@Export("needsModelFiles")
public final boolean needsModelFiles() {
if (this.modelIds == null) {
return true;
} else {
boolean var1 = true;
for (int var2 = 0; var2 < this.modelIds.length; ++var2) {
var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var2] & 65535, 0);
}
return var1;
}
}
@ObfuscatedName("z")
@ObfuscatedSignature(
descriptor = "(II[[IIIIB)Lhr;",
garbageValue = "1"
)
@Export("getEntity")
public final Renderable getEntity(int var1, int var2, int[][] var3, int var4, int var5, int var6) {
long var7;
if (this.models == null) {
var7 = (long)(var2 + (this.id << 10));
} else {
var7 = (long)(var2 + (var1 << 3) + (this.id << 10));
}
Object var9 = (Renderable)ObjectDefinition_cachedEntities.get(var7);
if (var9 == null) {
ModelData var10 = this.getModelData(var1, var2);
if (var10 == null) {
return null;
}
if (!this.nonFlatShading) {
var9 = var10.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50);
} else {
var10.ambient = (short)(this.ambient + 64);
var10.contrast = (short)(this.contrast + 768);
var10.calculateVertexNormals();
var9 = var10;
}
ObjectDefinition_cachedEntities.put((DualNode)var9, var7);
}
if (this.nonFlatShading) {
var9 = ((ModelData)var9).method3957();
}
if (this.clipType >= 0) {
if (var9 instanceof Model) {
var9 = ((Model)var9).contourGround(var3, var4, var5, var6, true, this.clipType);
} else if (var9 instanceof ModelData) {
var9 = ((ModelData)var9).method3958(var3, var4, var5, var6, true, this.clipType);
}
}
return (Renderable)var9;
}
@ObfuscatedName("a")
@ObfuscatedSignature(
descriptor = "(II[[IIIII)Lhg;",
garbageValue = "-668748839"
)
@Export("getModel")
public final Model getModel(int var1, int var2, int[][] var3, int var4, int var5, int var6) {
long var7;
if (this.models == null) {
var7 = (long)(var2 + (this.id << 10));
} else {
var7 = (long)(var2 + (var1 << 3) + (this.id << 10));
}
Model var9 = (Model)ObjectDefinition_cachedModels.get(var7);
if (var9 == null) {
ModelData var10 = this.getModelData(var1, var2);
if (var10 == null) {
return null;
}
var9 = var10.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50);
ObjectDefinition_cachedModels.put(var9, var7);
}
if (this.clipType >= 0) {
var9 = var9.contourGround(var3, var4, var5, var6, true, this.clipType);
}
return var9;
}
@ObfuscatedName("u")
@ObfuscatedSignature(
descriptor = "(II[[IIIILfa;II)Lhg;",
garbageValue = "1946600104"
)
@Export("getModelDynamic")
public final Model getModelDynamic(int var1, int var2, int[][] var3, int var4, int var5, int var6, SequenceDefinition var7, int var8) {
long var9;
if (this.models == null) {
var9 = (long)(var2 + (this.id << 10));
} else {
var9 = (long)(var2 + (var1 << 3) + (this.id << 10));
}
Model var11 = (Model)ObjectDefinition_cachedModels.get(var9);
if (var11 == null) {
ModelData var12 = this.getModelData(var1, var2);
if (var12 == null) {
return null;
}
var11 = var12.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50);
ObjectDefinition_cachedModels.put(var11, var9);
}
if (var7 == null && this.clipType == -1) {
return var11;
} else {
if (var7 != null) {
var11 = var7.transformObjectModel(var11, var8, var2);
} else {
var11 = var11.toSharedSequenceModel(true);
}
if (this.clipType >= 0) {
var11 = var11.contourGround(var3, var4, var5, var6, false, this.clipType);
}
return var11;
}
}
@ObfuscatedName("e")
@ObfuscatedSignature(
descriptor = "(IIS)Lgl;",
garbageValue = "1724"
)
@Export("getModelData")
final ModelData getModelData(int var1, int var2) {
ModelData var3 = null;
boolean var4;
int var5;
int var7;
if (this.models == null) {
if (var1 != 10) {
return null;
}
if (this.modelIds == null) {
return null;
}
var4 = this.isRotated;
if (var1 == 2 && var2 > 3) {
var4 = !var4;
}
var5 = this.modelIds.length;
for (int var6 = 0; var6 < var5; ++var6) {
var7 = this.modelIds[var6];
if (var4) {
var7 += 65536;
}
var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var7);
if (var3 == null) {
var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var7 & 65535, 0);
if (var3 == null) {
return null;
}
if (var4) {
var3.method3979();
}
ObjectDefinition_cachedModelData.put(var3, (long)var7);
}
if (var5 > 1) {
field1825[var6] = var3;
}
}
if (var5 > 1) {
var3 = new ModelData(field1825, var5);
}
} else {
int var9 = -1;
for (var5 = 0; var5 < this.models.length; ++var5) {
if (this.models[var5] == var1) {
var9 = var5;
break;
}
}
if (var9 == -1) {
return null;
}
var5 = this.modelIds[var9];
boolean var10 = this.isRotated ^ var2 > 3;
if (var10) {
var5 += 65536;
}
var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var5);
if (var3 == null) {
var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var5 & 65535, 0);
if (var3 == null) {
return null;
}
if (var10) {
var3.method3979();
}
ObjectDefinition_cachedModelData.put(var3, (long)var5);
}
}
if (this.modelSizeX == 128 && this.modelHeight == 128 && this.modelSizeY == 128) {
var4 = false;
} else {
var4 = true;
}
boolean var11;
if (this.offsetX == 0 && this.offsetHeight == 0 && this.offsetY == 0) {
var11 = false;
} else {
var11 = true;
}
ModelData var8 = new ModelData(var3, var2 == 0 && !var4 && !var11, null == this.recolorFrom, this.retextureFrom == null, true);
if (var1 == 4 && var2 > 3) {
var8.method3963(256);
var8.changeOffset(45, 0, -45);
}
var2 &= 3;
if (var2 == 1) {
var8.method3960();
} else if (var2 == 2) {
var8.method3961();
} else if (var2 == 3) {
var8.method4012();
}
if (this.recolorFrom != null) {
for (var7 = 0; var7 < this.recolorFrom.length; ++var7) {
var8.recolor(this.recolorFrom[var7], this.recolorTo[var7]);
}
}
if (this.retextureFrom != null) {
for (var7 = 0; var7 < this.retextureFrom.length; ++var7) {
var8.retexture(this.retextureFrom[var7], this.retextureTo[var7]);
}
}
if (var4) {
var8.resize(this.modelSizeX, this.modelHeight, this.modelSizeY);
}
if (var11) {
var8.changeOffset(this.offsetX, this.offsetHeight, this.offsetY);
}
return var8;
}
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "(I)Lff;",
garbageValue = "593938417"
)
@Export("transform")
public final ObjectComposition transform() {
int var1 = -1;
if (this.transformVarbit != -1) {
var1 = class247.getVarbit(this.transformVarbit);
} else if (this.transformVarp != -1) {
var1 = Varps.Varps_main[this.transformVarp];
}
int var2;
if (var1 >= 0 && var1 < this.transforms.length - 1) {
var2 = this.transforms[var1];
} else {
var2 = this.transforms[this.transforms.length - 1];
}
return var2 != -1 ? HitSplatDefinition.getObjectDefinition(var2) : null;
}
@ObfuscatedName("y")
@ObfuscatedSignature(
descriptor = "(III)I",
garbageValue = "-1072868231"
)
@Export("getIntParam")
public int getIntParam(int var1, int var2) {
IterableNodeHashTable var4 = this.params;
int var3;
if (var4 == null) {
var3 = var2;
} else {
IntegerNode var5 = (IntegerNode)var4.get((long)var1);
if (var5 == null) {
var3 = var2;
} else {
var3 = var5.integer;
}
}
return var3;
}
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(ILjava/lang/String;I)Ljava/lang/String;",
garbageValue = "-862572509"
)
@Export("getStringParam")
public String getStringParam(int var1, String var2) {
return class124.method2544(this.params, var1, var2);
}
@ObfuscatedName("f")
@ObfuscatedSignature(
descriptor = "(I)Z",
garbageValue = "298899350"
)
@Export("hasSound")
public boolean hasSound() {
if (this.transforms == null) {
return this.ambientSoundId != -1 || this.soundEffectIds != null;
} else {
for (int var1 = 0; var1 < this.transforms.length; ++var1) {
if (this.transforms[var1] != -1) {
ObjectComposition var2 = HitSplatDefinition.getObjectDefinition(this.transforms[var1]);
if (var2.ambientSoundId != -1 || var2.soundEffectIds != null) {
return true;
}
}
}
return false;
}
}
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "(I)Z",
garbageValue = "-1346199233"
)
@Export("loadWorlds")
static boolean loadWorlds() {
try {
if (WorldMapArchiveLoader.World_request == null) {
WorldMapArchiveLoader.World_request = class262.urlRequester.request(new URL(class328.field3915));
} else if (WorldMapArchiveLoader.World_request.isDone()) {
byte[] var0 = WorldMapArchiveLoader.World_request.getResponse();
Buffer var1 = new Buffer(var0);
var1.readInt();
World.World_count = var1.readUnsignedShort();
class393.World_worlds = new World[World.World_count];
World var3;
for (int var2 = 0; var2 < World.World_count; var3.index = var2++) {
var3 = class393.World_worlds[var2] = new World();
var3.id = var1.readUnsignedShort();
var3.properties = var1.readInt();
var3.host = var1.readStringCp1252NullTerminated();
var3.activity = var1.readStringCp1252NullTerminated();
var3.location = var1.readUnsignedByte();
var3.population = var1.readShort();
}
Coord.sortWorlds(class393.World_worlds, 0, class393.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2);
WorldMapArchiveLoader.World_request = null;
return true;
}
} catch (Exception var4) {
var4.printStackTrace();
WorldMapArchiveLoader.World_request = null;
}
return false;
}
@ObfuscatedName("c")
@ObfuscatedSignature(
descriptor = "(Ljava/lang/Object;ZI)[B",
garbageValue = "-1741880241"
)
public static byte[] method3159(Object var0, boolean var1) {
if (var0 == null) {
return null;
} else if (var0 instanceof byte[]) {
byte[] var3 = (byte[])((byte[])var0);
return var1 ? FloorUnderlayDefinition.method3026(var3) : var3;
} else if (var0 instanceof AbstractByteArrayCopier) {
AbstractByteArrayCopier var2 = (AbstractByteArrayCopier)var0;
return var2.get();
} else {
throw new IllegalArgumentException();
}
}
}