398 lines
9.9 KiB
Java
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;
|
|
}
|
|
}
|
|
}
|