Files
runelite/runescape-client/src/main/java/SpotAnimationDefinition.java
Owain van Brakel e6be88fbeb project: rev 199
2021-08-25 13:49:53 +02:00

241 lines
5.7 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;
@ObfuscatedName("fu")
@Implements("SpotAnimationDefinition")
public class SpotAnimationDefinition extends DualNode {
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "Lkk;"
)
@Export("SpotAnimationDefinition_archive")
static AbstractArchive SpotAnimationDefinition_archive;
@ObfuscatedName("c")
@ObfuscatedSignature(
descriptor = "Lkk;"
)
@Export("SpotAnimationDefinition_modelArchive")
static AbstractArchive SpotAnimationDefinition_modelArchive;
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "Lim;"
)
@Export("SpotAnimationDefinition_cached")
public static EvictingDualNodeHashTable SpotAnimationDefinition_cached;
@ObfuscatedName("k")
@ObfuscatedSignature(
descriptor = "Lim;"
)
@Export("SpotAnimationDefinition_cachedModels")
public static EvictingDualNodeHashTable SpotAnimationDefinition_cachedModels;
@ObfuscatedName("iw")
@ObfuscatedGetter(
intValue = 932432285
)
@Export("cameraY")
static int cameraY;
@ObfuscatedName("o")
@ObfuscatedGetter(
intValue = 1198013291
)
@Export("id")
int id;
@ObfuscatedName("g")
@ObfuscatedGetter(
intValue = 1427359833
)
@Export("archive")
int archive;
@ObfuscatedName("z")
@ObfuscatedGetter(
intValue = -1850813879
)
@Export("sequence")
public int sequence;
@ObfuscatedName("a")
@Export("recolorFrom")
short[] recolorFrom;
@ObfuscatedName("u")
@Export("recolorTo")
short[] recolorTo;
@ObfuscatedName("e")
@Export("retextureFrom")
short[] retextureFrom;
@ObfuscatedName("l")
@Export("retextureTo")
short[] retextureTo;
@ObfuscatedName("y")
@ObfuscatedGetter(
intValue = -1521995085
)
@Export("widthScale")
int widthScale;
@ObfuscatedName("v")
@ObfuscatedGetter(
intValue = 219196667
)
@Export("heightScale")
int heightScale;
@ObfuscatedName("f")
@ObfuscatedGetter(
intValue = -118678237
)
@Export("orientation")
int orientation;
@ObfuscatedName("s")
@ObfuscatedGetter(
intValue = 1482332639
)
@Export("ambient")
int ambient;
@ObfuscatedName("h")
@ObfuscatedGetter(
intValue = 1762687637
)
@Export("contrast")
int contrast;
static {
SpotAnimationDefinition_cached = new EvictingDualNodeHashTable(64);
SpotAnimationDefinition_cachedModels = new EvictingDualNodeHashTable(30);
}
SpotAnimationDefinition() {
this.sequence = -1;
this.widthScale = 128;
this.heightScale = 128;
this.orientation = 0;
this.ambient = 0;
this.contrast = 0;
}
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "(Lot;I)V",
garbageValue = "-1543996245"
)
@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;IB)V",
garbageValue = "-77"
)
@Export("decodeNext")
void decodeNext(Buffer var1, int var2) {
if (var2 == 1) {
this.archive = var1.readUnsignedShort();
} else if (var2 == 2) {
this.sequence = var1.readUnsignedShort();
} else if (var2 == 4) {
this.widthScale = var1.readUnsignedShort();
} else if (var2 == 5) {
this.heightScale = var1.readUnsignedShort();
} else if (var2 == 6) {
this.orientation = var1.readUnsignedShort();
} else if (var2 == 7) {
this.ambient = var1.readUnsignedByte();
} else if (var2 == 8) {
this.contrast = var1.readUnsignedByte();
} else {
int var3;
int var4;
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();
}
}
}
}
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "(II)Lhg;",
garbageValue = "1448727005"
)
@Export("getModel")
public final Model getModel(int var1) {
Model var2 = (Model)SpotAnimationDefinition_cachedModels.get((long)this.id);
if (var2 == null) {
ModelData var3 = ModelData.ModelData_get(SpotAnimationDefinition_modelArchive, this.archive, 0);
if (var3 == null) {
return null;
}
int var4;
if (this.recolorFrom != null) {
for (var4 = 0; var4 < this.recolorFrom.length; ++var4) {
var3.recolor(this.recolorFrom[var4], this.recolorTo[var4]);
}
}
if (this.retextureFrom != null) {
for (var4 = 0; var4 < this.retextureFrom.length; ++var4) {
var3.retexture(this.retextureFrom[var4], this.retextureTo[var4]);
}
}
var2 = var3.toModel(this.ambient + 64, this.contrast + 850, -30, -50, -30);
SpotAnimationDefinition_cachedModels.put(var2, (long)this.id);
}
Model var5;
if (this.sequence != -1 && var1 != -1) {
var5 = class17.SequenceDefinition_get(this.sequence).transformSpotAnimationModel(var2, var1);
} else {
var5 = var2.toSharedSpotAnimationModel(true);
}
if (this.widthScale != 128 || this.heightScale != 128) {
var5.scale(this.widthScale, this.heightScale, this.widthScale);
}
if (this.orientation != 0) {
if (this.orientation == 90) {
var5.rotateY90Ccw();
}
if (this.orientation == 180) {
var5.rotateY90Ccw();
var5.rotateY90Ccw();
}
if (this.orientation == 270) {
var5.rotateY90Ccw();
var5.rotateY90Ccw();
var5.rotateY90Ccw();
}
}
return var5;
}
}