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("eg") @Implements("KitDefinition") public class KitDefinition extends DualNode { @ObfuscatedName("n") @ObfuscatedSignature( descriptor = "Lkk;" ) @Export("KitDefinition_archive") static AbstractArchive KitDefinition_archive; @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "Lim;" ) @Export("KitDefinition_cached") public static EvictingDualNodeHashTable KitDefinition_cached; @ObfuscatedName("o") @ObfuscatedGetter( intValue = -1083931277 ) @Export("bodypartID") public int bodypartID; @ObfuscatedName("g") @Export("models2") int[] models2; @ObfuscatedName("z") @Export("recolorFrom") short[] recolorFrom; @ObfuscatedName("a") @Export("recolorTo") short[] recolorTo; @ObfuscatedName("u") @Export("retextureFrom") short[] retextureFrom; @ObfuscatedName("e") @Export("retextureTo") short[] retextureTo; @ObfuscatedName("l") @Export("models") int[] models; @ObfuscatedName("y") @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("m") @ObfuscatedSignature( descriptor = "(Lot;I)V", garbageValue = "539516942" ) @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 = "-2069068144" ) @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("o") @ObfuscatedSignature( descriptor = "(S)Z", garbageValue = "3701" ) @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 (!GrandExchangeOfferUnitPriceComparator.KitDefinition_modelsArchive.tryLoadFile(this.models2[var2], 0)) { var1 = false; } } return var1; } } @ObfuscatedName("g") @ObfuscatedSignature( descriptor = "(I)Lgl;", garbageValue = "209809500" ) @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(GrandExchangeOfferUnitPriceComparator.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("z") @ObfuscatedSignature( descriptor = "(B)Z", garbageValue = "25" ) public boolean method2868() { boolean var1 = true; for (int var2 = 0; var2 < 5; ++var2) { if (this.models[var2] != -1 && !GrandExchangeOfferUnitPriceComparator.KitDefinition_modelsArchive.tryLoadFile(this.models[var2], 0)) { var1 = false; } } return var1; } @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(I)Lgl;", garbageValue = "-880664315" ) @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(GrandExchangeOfferUnitPriceComparator.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("c") @ObfuscatedSignature( descriptor = "(B)Z", garbageValue = "0" ) @Export("isKeyDown") public static final boolean isKeyDown() { synchronized(KeyHandler.KeyHandler_instance) { if (KeyHandler.field135 == KeyHandler.field137) { return false; } else { SpriteMask.field2994 = KeyHandler.field130[KeyHandler.field135]; class78.field1010 = KeyHandler.field129[KeyHandler.field135]; KeyHandler.field135 = KeyHandler.field135 + 1 & 127; return true; } } } @ObfuscatedName("c") @ObfuscatedSignature( descriptor = "(II)Lfg;", garbageValue = "2092779117" ) @Export("getEnum") public static EnumComposition getEnum(int var0) { EnumComposition var1 = (EnumComposition)EnumComposition.EnumDefinition_cached.get((long)var0); if (var1 != null) { return var1; } else { byte[] var2 = EnumComposition.EnumDefinition_archive.takeFile(8, var0); var1 = new EnumComposition(); if (var2 != null) { var1.decode(new Buffer(var2)); } EnumComposition.EnumDefinition_cached.put(var1, (long)var0); return var1; } } @ObfuscatedName("y") @ObfuscatedSignature( descriptor = "(IIIIIZS)Loc;", garbageValue = "3029" ) @Export("getItemSprite") public static final SpritePixels getItemSprite(int var0, int var1, int var2, int var3, int var4, boolean var5) { if (var1 == -1) { var4 = 0; } else if (var4 == 2 && var1 != 1) { var4 = 1; } long var6 = ((long)var4 << 40) + (long)var0 + ((long)var1 << 16) + ((long)var2 << 38) + ((long)var3 << 42); SpritePixels var8; if (!var5) { var8 = (SpritePixels)ItemComposition.ItemDefinition_cachedSprites.get(var6); if (var8 != null) { return var8; } } ItemComposition var9 = class65.ItemDefinition_get(var0); if (var1 > 1 && var9.countobj != null) { int var10 = -1; for (int var11 = 0; var11 < 10; ++var11) { if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) { var10 = var9.countobj[var11]; } } if (var10 != -1) { var9 = class65.ItemDefinition_get(var10); } } Model var19 = var9.getModel(1); if (var19 == null) { return null; } else { SpritePixels var20 = null; if (var9.noteTemplate != -1) { var20 = getItemSprite(var9.note, 10, 1, 0, 0, true); if (var20 == null) { return null; } } else if (var9.notedId != -1) { var20 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false); if (var20 == null) { return null; } } else if (var9.placeholderTemplate != -1) { var20 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false); if (var20 == null) { return null; } } int[] var12 = Rasterizer2D.Rasterizer2D_pixels; int var13 = Rasterizer2D.Rasterizer2D_width; int var14 = Rasterizer2D.Rasterizer2D_height; int[] var15 = new int[4]; Rasterizer2D.Rasterizer2D_getClipArray(var15); var8 = new SpritePixels(36, 32); Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); Rasterizer2D.Rasterizer2D_clear(); Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); Rasterizer3D.method4049(16, 16); Rasterizer3D.field2333 = false; if (var9.placeholderTemplate != -1) { var20.drawTransBgAt(0, 0); } int var16 = var9.zoom2d; if (var5) { var16 = (int)((double)var16 * 1.5D); } else if (var2 == 2) { var16 = (int)(1.04D * (double)var16); } int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16; int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16; var19.calculateBoundsCylinder(); var19.method4430(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var19.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d); if (var9.notedId != -1) { var20.drawTransBgAt(0, 0); } if (var2 >= 1) { var8.outline(1); } if (var2 >= 2) { var8.outline(16777215); } if (var3 != 0) { var8.shadow(var3); } Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); if (var9.noteTemplate != -1) { var20.drawTransBgAt(0, 0); } if (var4 == 1 || var4 == 2 && var9.isStackable == 1) { class300.ItemDefinition_fontPlain11.draw(Players.method2260(var1), 0, 9, 16776960, 1); } if (!var5) { ItemComposition.ItemDefinition_cachedSprites.put(var8, var6); } Rasterizer2D.Rasterizer2D_replace(var12, var13, var14); Rasterizer2D.Rasterizer2D_setClipArray(var15); Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); Rasterizer3D.field2333 = true; return var8; } } }