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; import net.runelite.rs.ScriptOpcodes; @ObfuscatedName("iw") @Implements("FloorUnderlayDefinition") public class FloorUnderlayDefinition extends DualNode { @ObfuscatedName("h") @ObfuscatedSignature( descriptor = "Lib;" ) @Export("FloorUnderlayDefinition_archive") public static AbstractArchive FloorUnderlayDefinition_archive; @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "Lez;" ) @Export("FloorUnderlayDefinition_cached") static EvictingDualNodeHashTable FloorUnderlayDefinition_cached; @ObfuscatedName("x") @ObfuscatedGetter( intValue = -1640099513 ) @Export("rgb") int rgb; @ObfuscatedName("w") @ObfuscatedGetter( intValue = 772769107 ) @Export("hue") public int hue; @ObfuscatedName("t") @ObfuscatedGetter( intValue = 1277008429 ) @Export("saturation") public int saturation; @ObfuscatedName("j") @ObfuscatedGetter( intValue = 1129854273 ) @Export("lightness") public int lightness; @ObfuscatedName("n") @ObfuscatedGetter( intValue = 2072275111 ) @Export("hueMultiplier") public int hueMultiplier; static { FloorUnderlayDefinition_cached = new EvictingDualNodeHashTable(64); } FloorUnderlayDefinition() { this.rgb = 0; } @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(I)V", garbageValue = "1848989672" ) @Export("postDecode") void postDecode() { this.setHsl(this.rgb); } @ObfuscatedName("x") @ObfuscatedSignature( descriptor = "(Lkj;II)V", garbageValue = "731438667" ) @Export("decode") void decode(Buffer var1, int var2) { while (true) { int var3 = var1.readUnsignedByte(); if (var3 == 0) { return; } this.decodeNext(var1, var3, var2); } } @ObfuscatedName("w") @ObfuscatedSignature( descriptor = "(Lkj;IIB)V", garbageValue = "5" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2, int var3) { if (var2 == 1) { this.rgb = var1.readMedium(); } } @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(II)V", garbageValue = "1248052268" ) @Export("setHsl") void setHsl(int var1) { double var2 = (double)(var1 >> 16 & 255) / 256.0D; double var4 = (double)(var1 >> 8 & 255) / 256.0D; double var6 = (double)(var1 & 255) / 256.0D; double var8 = var2; if (var4 < var2) { var8 = var4; } if (var6 < var8) { var8 = var6; } double var10 = var2; if (var4 > var2) { var10 = var4; } if (var6 > var10) { var10 = var6; } double var12 = 0.0D; double var14 = 0.0D; double var16 = (var8 + var10) / 2.0D; if (var8 != var10) { if (var16 < 0.5D) { var14 = (var10 - var8) / (var8 + var10); } if (var16 >= 0.5D) { var14 = (var10 - var8) / (2.0D - var10 - var8); } if (var2 == var10) { var12 = (var4 - var6) / (var10 - var8); } else if (var10 == var4) { var12 = 2.0D + (var6 - var2) / (var10 - var8); } else if (var6 == var10) { var12 = 4.0D + (var2 - var4) / (var10 - var8); } } var12 /= 6.0D; this.saturation = (int)(var14 * 256.0D); this.lightness = (int)(256.0D * var16); if (this.saturation < 0) { this.saturation = 0; } else if (this.saturation > 255) { this.saturation = 255; } if (this.lightness < 0) { this.lightness = 0; } else if (this.lightness > 255) { this.lightness = 255; } if (var16 > 0.5D) { this.hueMultiplier = (int)(var14 * (1.0D - var16) * 512.0D); } else { this.hueMultiplier = (int)(var16 * var14 * 512.0D); } if (this.hueMultiplier < 1) { this.hueMultiplier = 1; } this.hue = (int)((double)this.hueMultiplier * var12); } @ObfuscatedName("ah") @ObfuscatedSignature( descriptor = "(ILcs;ZI)I", garbageValue = "-170727251" ) static int method4460(int var0, Script var1, boolean var2) { int var3; if (var0 == ScriptOpcodes.CAM_FORCEANGLE) { VarcInt.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; int var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; if (!Client.isCameraLocked) { Client.camAngleX = var3; Client.camAngleY = var4; } return 1; } else if (var0 == ScriptOpcodes.CAM_GETANGLE_XA) { Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.camAngleX; return 1; } else if (var0 == ScriptOpcodes.CAM_GETANGLE_YA) { Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.camAngleY; return 1; } else if (var0 == ScriptOpcodes.CAM_SETFOLLOWHEIGHT) { var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; if (var3 < 0) { var3 = 0; } Client.camFollowHeight = var3; return 1; } else if (var0 == ScriptOpcodes.CAM_GETFOLLOWHEIGHT) { Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.camFollowHeight; return 1; } else { return 2; } } }