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("il") @Implements("HealthBarDefinition") public class HealthBarDefinition extends DualNode { @ObfuscatedName("a") @ObfuscatedSignature( signature = "Lhq;" ) @Export("HealthBarDefinition_archive") public static AbstractArchive HealthBarDefinition_archive; @ObfuscatedName("t") @ObfuscatedSignature( signature = "Lhq;" ) @Export("HitSplatDefinition_spritesArchive") public static AbstractArchive HitSplatDefinition_spritesArchive; @ObfuscatedName("n") @ObfuscatedSignature( signature = "Leb;" ) @Export("HealthBarDefinition_cached") public static EvictingDualNodeHashTable HealthBarDefinition_cached; @ObfuscatedName("q") @ObfuscatedSignature( signature = "Leb;" ) @Export("HealthBarDefinition_cachedSprites") public static EvictingDualNodeHashTable HealthBarDefinition_cachedSprites; @ObfuscatedName("v") @ObfuscatedGetter( intValue = 1067342333 ) public int field3265; @ObfuscatedName("o") @ObfuscatedGetter( intValue = 2032079417 ) @Export("int1") public int int1; @ObfuscatedName("i") @ObfuscatedGetter( intValue = -1420994465 ) @Export("int2") public int int2; @ObfuscatedName("d") @ObfuscatedGetter( intValue = -601170319 ) @Export("int3") public int int3; @ObfuscatedName("m") @ObfuscatedGetter( intValue = 1370340653 ) @Export("int4") public int int4; @ObfuscatedName("p") @ObfuscatedGetter( intValue = -197026089 ) @Export("int5") public int int5; @ObfuscatedName("h") @ObfuscatedGetter( intValue = -376766097 ) @Export("frontSpriteID") int frontSpriteID; @ObfuscatedName("k") @ObfuscatedGetter( intValue = 1409027365 ) @Export("backSpriteID") int backSpriteID; @ObfuscatedName("x") @ObfuscatedGetter( intValue = 1180776485 ) @Export("width") public int width; @ObfuscatedName("j") @ObfuscatedGetter( intValue = -975829671 ) @Export("widthPadding") public int widthPadding; static { HealthBarDefinition_cached = new EvictingDualNodeHashTable(64); HealthBarDefinition_cachedSprites = new EvictingDualNodeHashTable(64); } public HealthBarDefinition() { this.int1 = 255; this.int2 = 255; this.int3 = -1; this.int4 = 1; this.int5 = 70; this.frontSpriteID = -1; this.backSpriteID = -1; this.width = 30; this.widthPadding = 0; } @ObfuscatedName("a") @ObfuscatedSignature( signature = "(Lkc;I)V", garbageValue = "-276948452" ) @Export("decode") public void decode(Buffer var1) { while (true) { int var2 = var1.readUnsignedByte(); if (var2 == 0) { return; } this.decodeNext(var1, var2); } } @ObfuscatedName("t") @ObfuscatedSignature( signature = "(Lkc;II)V", garbageValue = "431816555" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { if (var2 == 1) { var1.readUnsignedShort(); } else if (var2 == 2) { this.int1 = var1.readUnsignedByte(); } else if (var2 == 3) { this.int2 = var1.readUnsignedByte(); } else if (var2 == 4) { this.int3 = 0; } else if (var2 == 5) { this.int5 = var1.readUnsignedShort(); } else if (var2 == 6) { var1.readUnsignedByte(); } else if (var2 == 7) { this.frontSpriteID = var1.method5638(); } else if (var2 == 8) { this.backSpriteID = var1.method5638(); } else if (var2 == 11) { this.int3 = var1.readUnsignedShort(); } else if (var2 == 14) { this.width = var1.readUnsignedByte(); } else if (var2 == 15) { this.widthPadding = var1.readUnsignedByte(); } } @ObfuscatedName("n") @ObfuscatedSignature( signature = "(I)Llx;", garbageValue = "-907904185" ) @Export("getFrontSprite") public Sprite getFrontSprite() { if (this.frontSpriteID < 0) { return null; } else { Sprite var1 = (Sprite)HealthBarDefinition_cachedSprites.get((long)this.frontSpriteID); if (var1 != null) { return var1; } else { var1 = MenuAction.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.frontSpriteID, 0); if (var1 != null) { HealthBarDefinition_cachedSprites.put(var1, (long)this.frontSpriteID); } return var1; } } } @ObfuscatedName("q") @ObfuscatedSignature( signature = "(I)Llx;", garbageValue = "1192801770" ) @Export("getBackSprite") public Sprite getBackSprite() { if (this.backSpriteID < 0) { return null; } else { Sprite var1 = (Sprite)HealthBarDefinition_cachedSprites.get((long)this.backSpriteID); if (var1 != null) { return var1; } else { var1 = MenuAction.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.backSpriteID, 0); if (var1 != null) { HealthBarDefinition_cachedSprites.put(var1, (long)this.backSpriteID); } return var1; } } } @ObfuscatedName("ka") @ObfuscatedSignature( signature = "([Lhi;IB)V", garbageValue = "-5" ) @Export("drawModelComponents") static final void drawModelComponents(Widget[] var0, int var1) { for (int var2 = 0; var2 < var0.length; ++var2) { Widget var3 = var0[var2]; if (var3 != null && var3.parentId == var1 && (!var3.isIf3 || !WorldMapManager.isComponentHidden(var3))) { if (var3.type == 0) { if (!var3.isIf3 && WorldMapManager.isComponentHidden(var3) && var3 != ChatChannel.mousedOverWidgetIf1) { continue; } drawModelComponents(var0, var3.id); if (var3.children != null) { drawModelComponents(var3.children, var3.id); } InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); if (var4 != null) { AbstractWorldMapData.method326(var4.group); } } if (var3.type == 6) { int var5; if (var3.sequenceId != -1 || var3.sequenceId2 != -1) { boolean var7 = SecureRandomCallable.runCs1(var3); if (var7) { var5 = var3.sequenceId2; } else { var5 = var3.sequenceId; } if (var5 != -1) { SequenceDefinition var6 = PlayerType.SequenceDefinition_get(var5); for (var3.modelFrameCycle += Client.field693; var3.modelFrameCycle > var6.frameLengths[var3.modelFrame]; GrandExchangeOfferAgeComparator.invalidateWidget(var3)) { var3.modelFrameCycle -= var6.frameLengths[var3.modelFrame]; ++var3.modelFrame; if (var3.modelFrame >= var6.frameIds.length) { var3.modelFrame -= var6.frameCount; if (var3.modelFrame < 0 || var3.modelFrame >= var6.frameIds.length) { var3.modelFrame = 0; } } } } } if (var3.field2604 != 0 && !var3.isIf3) { int var8 = var3.field2604 >> 16; var5 = var3.field2604 << 16 >> 16; var8 *= Client.field693; var5 *= Client.field693; var3.modelAngleX = var8 + var3.modelAngleX & 2047; var3.modelAngleY = var5 + var3.modelAngleY & 2047; GrandExchangeOfferAgeComparator.invalidateWidget(var3); } } } } } }