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); } } }