Files
runelite/runescape-client/src/main/java/KitDefinition.java
Owain van Brakel add4ca8005 chore: rev 188
2020-01-29 14:20:08 +01:00

338 lines
7.7 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("io")
@Implements("KitDefinition")
public class KitDefinition extends DualNode {
@ObfuscatedName("c")
@ObfuscatedSignature(
signature = "Lii;"
)
@Export("KitDefinition_archive")
public static AbstractArchive KitDefinition_archive;
@ObfuscatedName("t")
@ObfuscatedSignature(
signature = "Lii;"
)
@Export("KitDefinition_modelsArchive")
public static AbstractArchive KitDefinition_modelsArchive;
@ObfuscatedName("e")
@ObfuscatedSignature(
signature = "Leh;"
)
@Export("KitDefinition_cached")
static EvictingDualNodeHashTable KitDefinition_cached;
@ObfuscatedName("i")
@ObfuscatedGetter(
intValue = -1923547411
)
@Export("bodypartID")
public int bodypartID;
@ObfuscatedName("g")
@Export("models2")
int[] models2;
@ObfuscatedName("d")
@Export("recolorFrom")
short[] recolorFrom;
@ObfuscatedName("l")
@Export("recolorTo")
short[] recolorTo;
@ObfuscatedName("j")
@Export("retextureFrom")
short[] retextureFrom;
@ObfuscatedName("m")
@Export("retextureTo")
short[] retextureTo;
@ObfuscatedName("p")
@Export("models")
int[] models;
@ObfuscatedName("h")
@Export("nonSelectable")
public boolean nonSelectable;
static {
KitDefinition_cached = new EvictingDualNodeHashTable(64);
}
KitDefinition() {
this.bodypartID = -1;
this.models = new int[]{-1, -1, -1, -1, -1};
this.nonSelectable = false;
}
@ObfuscatedName("t")
@ObfuscatedSignature(
signature = "(Lkp;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("o")
@ObfuscatedSignature(
signature = "(Lkp;II)V",
garbageValue = "1396664482"
)
@Export("decodeNext")
void decodeNext(Buffer var1, int var2) {
if (var2 == 1) {
this.bodypartID = var1.readUnsignedByte();
} else {
int var3;
int var4;
if (var2 == 2) {
var3 = var1.readUnsignedByte();
this.models2 = new int[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.models2[var4] = var1.readUnsignedShort();
}
} else if (var2 == 3) {
this.nonSelectable = true;
} 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 >= 60 && var2 < 70) {
this.models[var2 - 60] = var1.readUnsignedShort();
}
}
}
@ObfuscatedName("e")
@ObfuscatedSignature(
signature = "(I)Z",
garbageValue = "16777215"
)
@Export("ready")
public boolean ready() {
if (this.models2 == null) {
return true;
} else {
boolean var1 = true;
for (int var2 = 0; var2 < this.models2.length; ++var2) {
if (!KitDefinition_modelsArchive.tryLoadFile(this.models2[var2], 0)) {
var1 = false;
}
}
return var1;
}
}
@ObfuscatedName("i")
@ObfuscatedSignature(
signature = "(I)Ldg;",
garbageValue = "847526652"
)
@Export("getModelData")
public ModelData getModelData() {
if (this.models2 == null) {
return null;
} else {
ModelData[] var1 = new ModelData[this.models2.length];
for (int var2 = 0; var2 < this.models2.length; ++var2) {
var1[var2] = ModelData.ModelData_get(KitDefinition_modelsArchive, this.models2[var2], 0);
}
ModelData var4;
if (var1.length == 1) {
var4 = var1[0];
} else {
var4 = new ModelData(var1, var1.length);
}
int var3;
if (this.recolorFrom != null) {
for (var3 = 0; var3 < this.recolorFrom.length; ++var3) {
var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]);
}
}
if (this.retextureFrom != null) {
for (var3 = 0; var3 < this.retextureFrom.length; ++var3) {
var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]);
}
}
return var4;
}
}
@ObfuscatedName("g")
@ObfuscatedSignature(
signature = "(I)Z",
garbageValue = "-464506453"
)
public boolean method4533() {
boolean var1 = true;
for (int var2 = 0; var2 < 5; ++var2) {
if (this.models[var2] != -1 && !KitDefinition_modelsArchive.tryLoadFile(this.models[var2], 0)) {
var1 = false;
}
}
return var1;
}
@ObfuscatedName("d")
@ObfuscatedSignature(
signature = "(I)Ldg;",
garbageValue = "-2095950315"
)
@Export("getKitDefinitionModels")
public ModelData getKitDefinitionModels() {
ModelData[] var1 = new ModelData[5];
int var2 = 0;
for (int var3 = 0; var3 < 5; ++var3) {
if (this.models[var3] != -1) {
var1[var2++] = ModelData.ModelData_get(KitDefinition_modelsArchive, this.models[var3], 0);
}
}
ModelData var5 = new ModelData(var1, var2);
int var4;
if (this.recolorFrom != null) {
for (var4 = 0; var4 < this.recolorFrom.length; ++var4) {
var5.recolor(this.recolorFrom[var4], this.recolorTo[var4]);
}
}
if (this.retextureFrom != null) {
for (var4 = 0; var4 < this.retextureFrom.length; ++var4) {
var5.retexture(this.retextureFrom[var4], this.retextureTo[var4]);
}
}
return var5;
}
@ObfuscatedName("t")
@ObfuscatedSignature(
signature = "(IIIIB)V",
garbageValue = "116"
)
static final void method4532(int var0, int var1, int var2, int var3) {
for (int var4 = var1; var4 <= var3 + var1; ++var4) {
for (int var5 = var0; var5 <= var0 + var2; ++var5) {
if (var5 >= 0 && var5 < 104 && var4 >= 0 && var4 < 104) {
InterfaceParent.field565[0][var5][var4] = 127;
if (var0 == var5 && var5 > 0) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4];
}
if (var0 + var2 == var5 && var5 < 103) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4];
}
if (var4 == var1 && var4 > 0) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 - 1];
}
if (var4 == var3 + var1 && var4 < 103) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1];
}
}
}
}
}
@ObfuscatedName("g")
@ObfuscatedSignature(
signature = "(Ljava/lang/CharSequence;IZB)I",
garbageValue = "93"
)
@Export("parseIntCustomRadix")
static int parseIntCustomRadix(CharSequence var0, int var1, boolean var2) {
if (var1 >= 2 && var1 <= 36) {
boolean var3 = false;
boolean var4 = false;
int var5 = 0;
int var6 = var0.length();
for (int var7 = 0; var7 < var6; ++var7) {
char var8 = var0.charAt(var7);
if (var7 == 0) {
if (var8 == '-') {
var3 = true;
continue;
}
if (var8 == '+') {
continue;
}
}
int var10;
if (var8 >= '0' && var8 <= '9') {
var10 = var8 - '0';
} else if (var8 >= 'A' && var8 <= 'Z') {
var10 = var8 - '7';
} else {
if (var8 < 'a' || var8 > 'z') {
throw new NumberFormatException();
}
var10 = var8 - 'W';
}
if (var10 >= var1) {
throw new NumberFormatException();
}
if (var3) {
var10 = -var10;
}
int var9 = var10 + var5 * var1;
if (var9 / var1 != var5) {
throw new NumberFormatException();
}
var5 = var9;
var4 = true;
}
if (!var4) {
throw new NumberFormatException();
} else {
return var5;
}
} else {
throw new IllegalArgumentException("" + var1);
}
}
}