Files
runelite/runescape-client/src/main/java/FloorUnderlayDefinition.java
therealunull 8f587826ee chore: rev 193
2020-12-09 11:07:26 -05:00

218 lines
4.9 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;
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;
}
}
}