package rt4;
import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalClass;
import org.openrs2.deob.annotation.OriginalMember;
import org.openrs2.deob.annotation.Pc;
@OriginalClass("client!qe")
public final class Inv extends Node {
@OriginalMember(owner = "client!cb", name = "I", descriptor = "[I")
public static final int[] updatedInventories = new int[32];
@OriginalMember(owner = "client!kl", name = "u", descriptor = "Lclient!na;")
public static final JagString aClass100_637 = JagString.parse("
");
@OriginalMember(owner = "client!ol", name = "Y", descriptor = "Lclient!na;")
public static final JagString aClass100_819 = JagString.parse("");
@OriginalMember(owner = "client!ib", name = "g", descriptor = "Lclient!na;")
public static final JagString aClass100_559 = JagString.parse("");
@OriginalMember(owner = "client!jj", name = "m", descriptor = "Lclient!na;")
public static final JagString aClass100_594 = JagString.parse("<)4col>");
@OriginalMember(owner = "client!ii", name = "c", descriptor = "I")
public static int updatedInventoriesWriterIndex = 0;
@OriginalMember(owner = "client!bj", name = "v", descriptor = "Lclient!sc;")
public static HashTable objectContainerCache = new HashTable(32);
@OriginalMember(owner = "client!qe", name = "p", descriptor = "[I")
public int[] objectIds = new int[]{-1};
@OriginalMember(owner = "client!qe", name = "u", descriptor = "[I")
public int[] anIntArray422 = new int[]{0};
@OriginalMember(owner = "client!ba", name = "a", descriptor = "(IB)I")
public static int getFreeSpace(@OriginalArg(0) int arg0) {
if (arg0 < 0) {
return 0;
}
@Pc(17) Inv local17 = (Inv) objectContainerCache.get(arg0);
if (local17 == null) {
return InvTypeList.get(arg0).size;
}
@Pc(31) int freeSpaces = 0;
for (@Pc(33) int id = 0; id < local17.objectIds.length; id++) {
if (local17.objectIds[id] == -1) {
freeSpaces++;
}
}
return freeSpaces + InvTypeList.get(arg0).size - local17.objectIds.length;
}
@OriginalMember(owner = "client!od", name = "a", descriptor = "(IZII)I")
public static int getTotalParam(@OriginalArg(1) boolean arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) {
@Pc(19) Inv local19 = (Inv) objectContainerCache.get(arg1);
if (local19 == null) {
return 0;
}
@Pc(27) int local27 = 0;
for (@Pc(29) int local29 = 0; local29 < local19.objectIds.length; local29++) {
if (local19.objectIds[local29] >= 0 && ObjTypeList.capacity > local19.objectIds[local29]) {
@Pc(56) ObjType local56 = ObjTypeList.get(local19.objectIds[local29]);
if (local56.params != null) {
@Pc(68) IntNode local68 = (IntNode) local56.params.get(arg2);
if (local68 != null) {
if (arg0) {
local27 += local19.anIntArray422[local29] * local68.value;
} else {
local27 += local68.value;
}
}
}
}
}
return local27;
}
@OriginalMember(owner = "client!wj", name = "a", descriptor = "(BII)I")
public static int getSlotTotal(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1) {
@Pc(8) Inv local8 = (Inv) objectContainerCache.get(arg0);
if (local8 == null) {
return 0;
} else if (arg1 == -1) {
return 0;
} else {
@Pc(25) int local25 = 0;
for (@Pc(27) int local27 = 0; local27 < local8.anIntArray422.length; local27++) {
if (arg1 == local8.objectIds[local27]) {
local25 += local8.anIntArray422[local27];
}
}
return local25;
}
}
@OriginalMember(owner = "client!bm", name = "a", descriptor = "(III)I")
public static int getItemCount(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1) {
@Pc(10) Inv local10 = (Inv) objectContainerCache.get(arg0);
if (local10 == null) {
return 0;
} else if (arg1 >= 0 && arg1 < local10.anIntArray422.length) {
return local10.anIntArray422[arg1];
} else {
return 0;
}
}
@OriginalMember(owner = "client!be", name = "a", descriptor = "(III)I")
public static int getItemType(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) {
@Pc(10) Inv local10 = (Inv) objectContainerCache.get(arg0);
if (local10 == null) {
return -1;
} else if (arg1 >= 0 && arg1 < local10.objectIds.length) {
return local10.objectIds[arg1];
} else {
return -1;
}
}
@OriginalMember(owner = "client!bc", name = "d", descriptor = "(II)V")
public static void delete(@OriginalArg(0) int arg0) {
@Pc(14) Inv local14 = (Inv) objectContainerCache.get(arg0);
if (local14 != null) {
local14.unlink();
}
}
@OriginalMember(owner = "client!hn", name = "f", descriptor = "(B)V")
public static void method2073() {
objectContainerCache = new HashTable(32);
}
@OriginalMember(owner = "client!wl", name = "a", descriptor = "(IIIIB)V")
public static void updateContainer(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) {
@Pc(12) Inv local12 = (Inv) objectContainerCache.get(arg3);
if (local12 == null) {
local12 = new Inv();
objectContainerCache.put(local12, arg3);
}
if (arg1 >= local12.objectIds.length) {
@Pc(39) int[] local39 = new int[arg1 + 1];
@Pc(44) int[] local44 = new int[arg1 + 1];
@Pc(46) int local46;
for (local46 = 0; local46 < local12.objectIds.length; local46++) {
local39[local46] = local12.objectIds[local46];
local44[local46] = local12.anIntArray422[local46];
}
for (local46 = local12.objectIds.length; local46 < arg1; local46++) {
local39[local46] = -1;
local44[local46] = 0;
}
local12.objectIds = local39;
local12.anIntArray422 = local44;
}
local12.objectIds[arg1] = arg0;
local12.anIntArray422[arg1] = arg2;
}
@OriginalMember(owner = "client!pf", name = "a", descriptor = "(IIZIII)Lclient!qf;")
public static Sprite getObjectSprite(@OriginalArg(0) int selected, @OriginalArg(1) int id, @OriginalArg(2) boolean drawText, @OriginalArg(3) int count, @OriginalArg(4) int shadow) {
@Pc(27) int key = (drawText ? 65536 : 0) + id + (selected << 17) + (shadow << 19);
@Pc(37) long uid = (long) key * 3849834839L + (long) count * 3147483667L;
@Pc(43) Sprite sprite = (Sprite) ObjTypeList.objectSpriteCache.get(uid);
if (sprite != null) {
return sprite;
}
Rasteriser.textureHasTransparency = false;
sprite = renderObjectSprite(shadow, false, id, drawText, selected, count, false);
if (sprite != null && !Rasteriser.textureHasTransparency) {
ObjTypeList.objectSpriteCache.put(sprite, uid);
}
return sprite;
}
@OriginalMember(owner = "client!na", name = "a", descriptor = "(IBZIZIIZ)Lclient!qf;")
public static Sprite renderObjectSprite(@OriginalArg(0) int shadow, @OriginalArg(2) boolean linked, @OriginalArg(3) int id, @OriginalArg(4) boolean drawText, @OriginalArg(5) int state, @OriginalArg(6) int stack, @OriginalArg(7) boolean cert) {
@Pc(5) ObjType objType = ObjTypeList.get(id);
if (stack > 1 && objType.countobj != null) {
@Pc(15) int stackId = -1;
for (@Pc(17) int i = 0; i < 10; i++) {
if (stack >= objType.countco[i] && objType.countco[i] != 0) {
stackId = objType.countobj[i];
}
}
if (stackId != -1) {
objType = ObjTypeList.get(stackId);
}
}
@Pc(60) SoftwareModel model = objType.getInvModel();
if (model == null) {
return null;
}
@Pc(71) SoftwareSprite linkedSprite = null;
if (objType.certtemplate != -1) {
linkedSprite = (SoftwareSprite) renderObjectSprite(0, true, objType.certlink, false, 1, 10, true);
if (linkedSprite == null) {
return null;
}
} else if (objType.lentTemplate != -1) {
linkedSprite = (SoftwareSprite) renderObjectSprite(shadow, true, objType.lentLink, false, state, stack, false);
if (linkedSprite == null) {
return null;
}
}
@Pc(118) int[] pixels = SoftwareRaster.pixels;
@Pc(120) int width = SoftwareRaster.width;
@Pc(122) int height = SoftwareRaster.height;
@Pc(125) int[] clip = new int[4];
SoftwareRaster.saveClip(clip);
final int canvasWidth = 36;
final int canvasHeight = 32;
@Pc(133) SoftwareSprite canvas = new SoftwareSprite(canvasWidth, canvasHeight);
SoftwareRaster.setSize(canvas.pixels, canvasWidth, canvasHeight);
Rasteriser.prepare();
Rasteriser.setBounds(canvasWidth / 2, canvasHeight / 2);
Rasteriser.jagged = false;
@Pc(145) int zoom = objType.zoom2d; // / 4;
if (cert) {
zoom = (int) ((double) zoom * 1.5D);
} else if (state == 2) {
zoom = (int) ((double) zoom * 1.04D);
}
@Pc(176) int pitchcos = MathUtils.cos[objType.xAngle2D] * zoom >> 16;
@Pc(185) int pitchsin = MathUtils.sin[objType.xAngle2D] * zoom >> 16;
model.setCamera(objType.yAngle2D, objType.zAngle2D, objType.xAngle2D, objType.xOffset2D, pitchsin + objType.yOffset2D - model.getMinY() / 2, objType.yOffset2D + pitchcos, -1L);
if (state >= 1) {
canvas.drawOutline(1);
if (state >= 2) {
canvas.drawOutline(16777215);
}
SoftwareRaster.setSize(canvas.pixels, canvasWidth, canvasHeight);
}
if (shadow != 0) {
canvas.drawShadow(shadow);
}
if (objType.certtemplate != -1) {
linkedSprite.render(0, 0);
} else if (objType.lentTemplate != -1) {
SoftwareRaster.setSize(linkedSprite.pixels, canvasWidth, canvasHeight);
canvas.render(0, 0);
canvas = linkedSprite;
}
if (drawText && (objType.stackable == 1 || stack != 1) && stack != -1) {
ObjTypeList.font.renderLeft(formatObjAmount(stack), 0, 9, 16776960, 1);
}
SoftwareRaster.setSize(pixels, width, height);
SoftwareRaster.restoreClip(clip);
Rasteriser.prepare();
Rasteriser.jagged = true;
return GlRenderer.enabled && !linked ? new GlSprite(canvas) : canvas;
}
@OriginalMember(owner = "client!eb", name = "b", descriptor = "(II)Lclient!na;")
public static JagString formatObjAmount(@OriginalArg(1) int arg0) {
if (arg0 < 100000) {
return JagString.concatenate(new JagString[]{aClass100_559, JagString.parseInt(arg0), aClass100_594});
} else if (arg0 >= 10000000) {
return JagString.concatenate(new JagString[]{aClass100_819, JagString.parseInt(arg0 / 1000000), LocalizedText.MILLION, aClass100_594});
} else {
return JagString.concatenate(new JagString[]{aClass100_637, JagString.parseInt(arg0 / 1000), LocalizedText.THOUSAND, aClass100_594});
}
}
@OriginalMember(owner = "client!bd", name = "a", descriptor = "(BI)V")
public static void method475(@OriginalArg(1) int arg0) {
@Pc(8) Inv local8 = (Inv) objectContainerCache.get(arg0);
if (local8 != null) {
for (@Pc(24) int local24 = 0; local24 < local8.objectIds.length; local24++) {
local8.objectIds[local24] = -1;
local8.anIntArray422[local24] = 0;
}
}
}
}