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

398 lines
9.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;
@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;
}
}
}