client: rev 198 (#3014)

* client: rev 198

* client: checkstyle

Co-authored-by: therealnull <therealnull@gmail.com>
This commit is contained in:
Tyler Bochard
2021-07-28 07:24:38 -04:00
committed by GitHub
parent c2af17f765
commit 56ae122b89
466 changed files with 65937 additions and 65851 deletions

View File

@@ -1,88 +1,80 @@
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("eh")
@ObfuscatedName("et")
@Implements("StructComposition")
public class StructComposition extends DualNode {
@ObfuscatedName("f")
@ObfuscatedName("s")
@ObfuscatedSignature(
descriptor = "Ljp;"
descriptor = "Ljy;"
)
@Export("StructDefinition_archive")
public static AbstractArchive StructDefinition_archive;
@ObfuscatedName("e")
@ObfuscatedName("t")
@ObfuscatedSignature(
descriptor = "Lht;"
descriptor = "Lhw;"
)
@Export("StructDefinition_cached")
static EvictingDualNodeHashTable StructDefinition_cached;
@ObfuscatedName("li")
@ObfuscatedGetter(
intValue = 456557527
)
@Export("menuX")
static int menuX;
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "Lmo;"
descriptor = "Lmc;"
)
@Export("params")
IterableNodeHashTable params;
static {
StructDefinition_cached = new EvictingDualNodeHashTable(64); // L: 13
StructDefinition_cached = new EvictingDualNodeHashTable(64);
}
StructComposition() {
} // L: 16
}
@ObfuscatedName("e")
@ObfuscatedName("t")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "2004161330"
garbageValue = "-1995312361"
)
@Export("postDecode")
void postDecode() {
} // L: 29
}
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(Lnt;B)V",
garbageValue = "-59"
descriptor = "(Lnv;B)V",
garbageValue = "103"
)
@Export("decode")
void decode(Buffer var1) {
while (true) {
int var2 = var1.readUnsignedByte(); // L: 33
if (var2 == 0) { // L: 34
return; // L: 37
int var2 = var1.readUnsignedByte();
if (var2 == 0) {
return;
}
this.decodeNext(var1, var2); // L: 35
this.decodeNext(var1, var2);
}
}
@ObfuscatedName("y")
@ObfuscatedSignature(
descriptor = "(Lnt;II)V",
garbageValue = "-606284417"
)
@Export("decodeNext")
void decodeNext(Buffer var1, int var2) {
if (var2 == 249) {
this.params = class19.readStringIntParameters(var1, this.params); // L: 40
}
}
@ObfuscatedName("j")
@ObfuscatedSignature(
descriptor = "(Lnv;IB)V",
garbageValue = "30"
)
@Export("decodeNext")
void decodeNext(Buffer var1, int var2) {
if (var2 == 249) {
this.params = ObjectSound.readStringIntParameters(var1, this.params);
}
}
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "(III)I",
garbageValue = "-1271027205"
garbageValue = "1579959620"
)
@Export("getIntParam")
public int getIntParam(int var1, int var2) {
@@ -95,131 +87,682 @@ public class StructComposition extends DualNode {
if (var5 == null) {
var3 = var2;
} else {
var3 = var5.integer; // L: 57
var3 = var5.integer;
}
}
return var3;
}
@ObfuscatedName("o")
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "(ILjava/lang/String;B)Ljava/lang/String;",
garbageValue = "1"
garbageValue = "-38"
)
@Export("getStringParam")
public String getStringParam(int var1, String var2) {
return WorldMapElement.method2742(this.params, var1, var2); // L: 63
}
@ObfuscatedName("e")
@ObfuscatedSignature(
descriptor = "(IIIB)Lcf;",
garbageValue = "15"
)
@Export("getWorldMapScript")
static Script getWorldMapScript(int var0, int var1, int var2) {
int var3 = MusicPatchNode.method4776(var1, var0); // L: 38
Script var5 = (Script)Script.Script_cached.get((long)(var3 << 16)); // L: 41
Script var4;
if (var5 != null) { // L: 42
var4 = var5; // L: 43
IterableNodeHashTable var4 = this.params;
String var3;
if (var4 == null) {
var3 = var2;
} else {
String var6 = String.valueOf(var3); // L: 46
int var7 = Varcs.archive12.getGroupId(var6); // L: 47
if (var7 == -1) { // L: 48
var4 = null; // L: 49
ObjectNode var5 = (ObjectNode)var4.get((long)var1);
if (var5 == null) {
var3 = var2;
} else {
label58: {
byte[] var8 = Varcs.archive12.takeFileFlat(var7); // L: 52
if (var8 != null) { // L: 53
if (var8.length <= 1) { // L: 54
var4 = null; // L: 55
break label58; // L: 56
}
var5 = NetSocket.newScript(var8); // L: 58
if (var5 != null) { // L: 59
Script.Script_cached.put(var5, (long)(var3 << 16)); // L: 60
var4 = var5; // L: 61
break label58; // L: 62
}
}
var4 = null; // L: 65
}
var3 = (String)var5.obj;
}
}
if (var4 != null) { // L: 68
return var4; // L: 69
return var3;
}
@ObfuscatedName("r")
@ObfuscatedSignature(
descriptor = "(Lio;II)V",
garbageValue = "-1632565261"
)
@Export("Widget_setKeyIgnoreHeld")
static final void Widget_setKeyIgnoreHeld(Widget var0, int var1) {
if (var0.field2987 == null) {
throw new RuntimeException();
} else {
var3 = VarbitComposition.method2935(var2, var0); // L: 71
Script var11 = (Script)Script.Script_cached.get((long)(var3 << 16)); // L: 74
Script var12;
if (var11 != null) { // L: 75
var12 = var11; // L: 76
} else {
String var13 = String.valueOf(var3); // L: 79
int var9 = Varcs.archive12.getGroupId(var13); // L: 80
if (var9 == -1) { // L: 81
var12 = null; // L: 82
} else {
byte[] var10 = Varcs.archive12.takeFileFlat(var9); // L: 85
if (var10 != null) { // L: 86
if (var10.length <= 1) { // L: 87
var12 = null; // L: 88
return var12 != null ? var12 : null; // L: 101 104
}
var11 = NetSocket.newScript(var10); // L: 91
if (var11 != null) { // L: 92
Script.Script_cached.put(var11, (long)(var3 << 16)); // L: 93
var12 = var11; // L: 94
return var12 != null ? var12 : null;
}
}
var12 = null; // L: 98
}
if (var0.field2966 == null) {
var0.field2966 = new int[var0.field2987.length];
}
return var12 != null ? var12 : null;
var0.field2966[var1] = Integer.MAX_VALUE;
}
}
@ObfuscatedName("p")
@ObfuscatedName("ig")
@ObfuscatedSignature(
descriptor = "(ILcf;ZI)I",
garbageValue = "-560000506"
descriptor = "([Lio;IIIIIIIII)V",
garbageValue = "2088353051"
)
static int method2972(int var0, Script var1, boolean var2) {
Widget var3 = WorldMapData_1.getWidget(Interpreter.Interpreter_intStack[--ChatChannel.Interpreter_intStackSize]); // L: 1390
if (var0 == ScriptOpcodes.IF_GETTARGETMASK) { // L: 1391
Interpreter.Interpreter_intStack[++ChatChannel.Interpreter_intStackSize - 1] = ModelData0.Widget_unpackTargetMask(class22.getWidgetFlags(var3)); // L: 1392
return 1; // L: 1393
} else if (var0 != ScriptOpcodes.IF_GETOP) { // L: 1395
if (var0 == ScriptOpcodes.IF_GETOPBASE) { // L: 1402
if (var3.dataText == null) { // L: 1403
Interpreter.Interpreter_stringStack[++UserComparator9.Interpreter_stringStackSize - 1] = "";
@Export("drawInterface")
static final void drawInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
for (int var9 = 0; var9 < var0.length; ++var9) {
Widget var10 = var0[var9];
if (var10 != null && (var10.parentId == var1 || var1 == -1412584499 && var10 == Client.clickedWidget)) {
int var11;
if (var8 == -1) {
Client.rootWidgetXs[Client.rootWidgetCount] = var10.x + var6;
Client.rootWidgetYs[Client.rootWidgetCount] = var7 + var10.y;
Client.rootWidgetWidths[Client.rootWidgetCount] = var10.width;
Client.rootWidgetHeights[Client.rootWidgetCount] = var10.height;
var11 = ++Client.rootWidgetCount - 1;
} else {
Interpreter.Interpreter_stringStack[++UserComparator9.Interpreter_stringStackSize - 1] = var3.dataText; // L: 1404
var11 = var8;
}
return 1; // L: 1405
} else {
return 2; // L: 1407
}
} else {
int var4 = Interpreter.Interpreter_intStack[--ChatChannel.Interpreter_intStackSize]; // L: 1396
--var4; // L: 1397
if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { // L: 1398
Interpreter.Interpreter_stringStack[++UserComparator9.Interpreter_stringStackSize - 1] = var3.actions[var4]; // L: 1399
} else {
Interpreter.Interpreter_stringStack[++UserComparator9.Interpreter_stringStackSize - 1] = "";
}
var10.rootIndex = var11;
var10.cycle = Client.cycle;
if (!var10.isIf3 || !FloorUnderlayDefinition.isComponentHidden(var10)) {
if (var10.contentType > 0) {
Decimator.method806(var10);
}
return 1; // L: 1400
int var12 = var10.x + var6;
int var13 = var7 + var10.y;
int var14 = var10.transparencyTop;
int var15;
int var16;
if (var10 == Client.clickedWidget) {
if (var1 != -1412584499 && !var10.isScrollBar) {
UrlRequest.field1224 = var0;
PcmPlayer.field191 = var6;
MouseRecorder.field976 = var7;
continue;
}
if (Client.isDraggingWidget && Client.field585) {
var15 = MouseHandler.MouseHandler_x;
var16 = MouseHandler.MouseHandler_y;
var15 -= Client.widgetClickX;
var16 -= Client.widgetClickY;
if (var15 < Client.field586) {
var15 = Client.field586;
}
if (var15 + var10.width > Client.field586 + Client.clickedWidgetParent.width) {
var15 = Client.field586 + Client.clickedWidgetParent.width - var10.width;
}
if (var16 < Client.field587) {
var16 = Client.field587;
}
if (var16 + var10.height > Client.field587 + Client.clickedWidgetParent.height) {
var16 = Client.field587 + Client.clickedWidgetParent.height - var10.height;
}
var12 = var15;
var13 = var16;
}
if (!var10.isScrollBar) {
var14 = 128;
}
}
int var17;
int var18;
int var19;
int var20;
int var21;
int var22;
if (var10.type == 2) {
var15 = var2;
var16 = var3;
var17 = var4;
var18 = var5;
} else if (var10.type == 9) {
var19 = var12;
var20 = var13;
var21 = var12 + var10.width;
var22 = var13 + var10.height;
if (var21 < var12) {
var19 = var21;
var21 = var12;
}
if (var22 < var13) {
var20 = var22;
var22 = var13;
}
++var21;
++var22;
var15 = var19 > var2 ? var19 : var2;
var16 = var20 > var3 ? var20 : var3;
var17 = var21 < var4 ? var21 : var4;
var18 = var22 < var5 ? var22 : var5;
} else {
var19 = var12 + var10.width;
var20 = var13 + var10.height;
var15 = var12 > var2 ? var12 : var2;
var16 = var13 > var3 ? var13 : var3;
var17 = var19 < var4 ? var19 : var4;
var18 = var20 < var5 ? var20 : var5;
}
if (!var10.isIf3 || var15 < var17 && var16 < var18) {
if (var10.contentType != 0) {
if (var10.contentType == 1336) {
if (Client.displayFps) {
var13 += 15;
WorldMapDecorationType.fontPlain12.drawRightAligned("Fps:" + GameEngine.fps, var12 + var10.width, var13, 16776960, -1);
var13 += 15;
Runtime var42 = Runtime.getRuntime();
var20 = (int)((var42.totalMemory() - var42.freeMemory()) / 1024L);
var21 = 16776960;
if (var20 > 327680 && !Client.isLowDetail) {
var21 = 16711680;
}
WorldMapDecorationType.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1);
var13 += 15;
}
continue;
}
if (var10.contentType == 1337) {
Client.viewportX = var12;
Client.viewportY = var13;
AbstractWorldMapIcon.drawEntities(var12, var13, var10.width, var10.height);
Client.field616[var10.rootIndex] = true;
Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
continue;
}
if (var10.contentType == 1338) {
ArchiveLoader.drawMinimap(var10, var12, var13, var11);
Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
continue;
}
if (var10.contentType == 1339) {
class345.drawCompass(var10, var12, var13, var11);
Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
continue;
}
if (var10.contentType == 1400) {
PcmPlayer.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle);
}
if (var10.contentType == 1401) {
PcmPlayer.worldMap.drawOverview(var12, var13, var10.width, var10.height);
}
if (var10.contentType == 1402) {
class6.loginScreenRunesAnimation.draw(var12, Client.cycle);
}
}
if (var10.type == 0) {
if (!var10.isIf3 && FloorUnderlayDefinition.isComponentHidden(var10) && var10 != Coord.mousedOverWidgetIf1) {
continue;
}
if (!var10.isIf3) {
if (var10.scrollY > var10.scrollHeight - var10.height) {
var10.scrollY = var10.scrollHeight - var10.height;
}
if (var10.scrollY < 0) {
var10.scrollY = 0;
}
}
drawInterface(var0, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11);
if (var10.children != null) {
drawInterface(var10.children, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11);
}
InterfaceParent var30 = (InterfaceParent)Client.interfaceParents.get((long)var10.id);
if (var30 != null) {
class41.drawWidgets(var30.group, var15, var16, var17, var18, var12, var13, var11);
}
Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
}
if (Client.isResizable || Client.field508[var11] || Client.gameDrawingMode > 1) {
if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) {
class100.drawScrollBar(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight);
}
if (var10.type != 1) {
int var23;
int var24;
int var25;
int var26;
if (var10.type == 2) {
var19 = 0;
for (var20 = 0; var20 < var10.rawHeight; ++var20) {
for (var21 = 0; var21 < var10.rawWidth; ++var21) {
var22 = var12 + var21 * (var10.paddingX + 32);
var23 = var20 * (var10.paddingY + 32) + var13;
if (var19 < 20) {
var22 += var10.inventoryXOffsets[var19];
var23 += var10.inventoryYOffsets[var19];
}
if (var10.itemIds[var19] <= 0) {
if (var10.inventorySprites != null && var19 < 20) {
SpritePixels var46 = var10.getInventorySprite(var19);
if (var46 != null) {
var46.drawTransBgAt(var22, var23);
} else if (Widget.field2955) {
AttackOption.invalidateWidget(var10);
}
}
} else {
boolean var37 = false;
boolean var38 = false;
var26 = var10.itemIds[var19] - 1;
if (var22 + 32 > var2 && var22 < var4 && var23 + 32 > var3 && var23 < var5 || var10 == Client.dragInventoryWidget && var19 == Client.dragItemSlotSource) {
SpritePixels var35;
if (Client.isItemSelected == 1 && var19 == KeyHandler.selectedItemSlot && var10.id == Tiles.selectedItemWidget) {
var35 = class124.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false);
} else {
var35 = class124.getItemSprite(var26, var10.itemQuantities[var19], 1, 3153952, 2, false);
}
if (var35 != null) {
if (var10 == Client.dragInventoryWidget && var19 == Client.dragItemSlotSource) {
var24 = MouseHandler.MouseHandler_x - Client.draggedWidgetX;
var25 = MouseHandler.MouseHandler_y - Client.draggedWidgetY;
if (var24 < 5 && var24 > -5) {
var24 = 0;
}
if (var25 < 5 && var25 > -5) {
var25 = 0;
}
if (Client.itemDragDuration < 5) {
var24 = 0;
var25 = 0;
}
var35.drawTransAt(var22 + var24, var23 + var25, 128);
if (var1 != -1) {
Widget var28 = var0[var1 & 65535];
int var29;
if (var23 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var28.scrollY > 0) {
var29 = (Rasterizer2D.Rasterizer2D_yClipStart - var23 - var25) * Client.field555 / 3;
if (var29 > Client.field555 * 10) {
var29 = Client.field555 * 10;
}
if (var29 > var28.scrollY) {
var29 = var28.scrollY;
}
var28.scrollY -= var29;
Client.draggedWidgetY += var29;
AttackOption.invalidateWidget(var28);
}
if (var25 + var23 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var28.scrollY < var28.scrollHeight - var28.height) {
var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field555 / 3;
if (var29 > Client.field555 * 10) {
var29 = Client.field555 * 10;
}
if (var29 > var28.scrollHeight - var28.height - var28.scrollY) {
var29 = var28.scrollHeight - var28.height - var28.scrollY;
}
var28.scrollY += var29;
Client.draggedWidgetY -= var29;
AttackOption.invalidateWidget(var28);
}
}
} else if (var10 == Canvas.field77 && var19 == Client.field513) {
var35.drawTransAt(var22, var23, 128);
} else {
var35.drawTransBgAt(var22, var23);
}
} else {
AttackOption.invalidateWidget(var10);
}
}
}
++var19;
}
}
} else if (var10.type == 3) {
if (HealthBarDefinition.runCs1(var10)) {
var19 = var10.color2;
if (var10 == Coord.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) {
var19 = var10.mouseOverColor2;
}
} else {
var19 = var10.color;
if (var10 == Coord.mousedOverWidgetIf1 && var10.mouseOverColor != 0) {
var19 = var10.mouseOverColor;
}
}
if (var10.fill) {
switch(var10.fillMode.field4257) {
case 1:
Rasterizer2D.Rasterizer2D_fillRectangleGradient(var12, var13, var10.width, var10.height, var10.color, var10.color2);
break;
case 2:
Rasterizer2D.Rasterizer2D_fillRectangleGradientAlpha(var12, var13, var10.width, var10.height, var10.color, var10.color2, 255 - (var10.transparencyTop & 255), 255 - (var10.transparencyBot & 255));
break;
default:
if (var14 == 0) {
Rasterizer2D.Rasterizer2D_fillRectangle(var12, var13, var10.width, var10.height, var19);
} else {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255));
}
}
} else if (var14 == 0) {
Rasterizer2D.Rasterizer2D_drawRectangle(var12, var13, var10.width, var10.height, var19);
} else {
Rasterizer2D.Rasterizer2D_drawRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255));
}
} else {
Font var39;
if (var10.type == 4) {
var39 = var10.getFont();
if (var39 == null) {
if (Widget.field2955) {
AttackOption.invalidateWidget(var10);
}
} else {
String var44 = var10.text;
if (HealthBarDefinition.runCs1(var10)) {
var20 = var10.color2;
if (var10 == Coord.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) {
var20 = var10.mouseOverColor2;
}
if (var10.text2.length() > 0) {
var44 = var10.text2;
}
} else {
var20 = var10.color;
if (var10 == Coord.mousedOverWidgetIf1 && var10.mouseOverColor != 0) {
var20 = var10.mouseOverColor;
}
}
if (var10.isIf3 && var10.itemId != -1) {
ItemComposition var45 = KeyHandler.ItemDefinition_get(var10.itemId);
var44 = var45.name;
if (var44 == null) {
var44 = "null";
}
if ((var45.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) {
var44 = ScriptFrame.colorStartTag(16748608) + var44 + "</col>" + " " + 'x' + ParamComposition.formatItemStacks(var10.itemQuantity);
}
}
if (var10 == Client.meslayerContinueWidget) {
var44 = "Please wait...";
var20 = var10.color;
}
if (!var10.isIf3) {
var44 = Player.method1833(var44, var10);
}
var39.drawLines(var44, var12, var13, var10.width, var10.height, var20, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight);
}
} else if (var10.type == 5) {
SpritePixels var40;
if (!var10.isIf3) {
var40 = var10.getSprite(HealthBarDefinition.runCs1(var10));
if (var40 != null) {
var40.drawTransBgAt(var12, var13);
} else if (Widget.field2955) {
AttackOption.invalidateWidget(var10);
}
} else {
if (var10.itemId != -1) {
var40 = class124.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false);
} else {
var40 = var10.getSprite(false);
}
if (var40 == null) {
if (Widget.field2955) {
AttackOption.invalidateWidget(var10);
}
} else {
var20 = var40.width;
var21 = var40.height;
if (!var10.spriteTiling) {
var22 = var10.width * 4096 / var20;
if (var10.spriteAngle != 0) {
var40.method7117(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var22);
} else if (var14 != 0) {
var40.drawTransScaledAt(var12, var13, var10.width, var10.height, 256 - (var14 & 255));
} else if (var20 == var10.width && var21 == var10.height) {
var40.drawTransBgAt(var12, var13);
} else {
var40.drawScaledAt(var12, var13, var10.width, var10.height);
}
} else {
Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height);
var22 = (var20 - 1 + var10.width) / var20;
var23 = (var21 - 1 + var10.height) / var21;
for (var24 = 0; var24 < var22; ++var24) {
for (var25 = 0; var25 < var23; ++var25) {
if (var10.spriteAngle != 0) {
var40.method7117(var20 / 2 + var12 + var24 * var20, var21 / 2 + var13 + var25 * var21, var10.spriteAngle, 4096);
} else if (var14 != 0) {
var40.drawTransAt(var12 + var24 * var20, var13 + var25 * var21, 256 - (var14 & 255));
} else {
var40.drawTransBgAt(var12 + var24 * var20, var13 + var25 * var21);
}
}
}
Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
}
}
}
} else {
ItemComposition var33;
if (var10.type == 6) {
boolean var36 = HealthBarDefinition.runCs1(var10);
if (var36) {
var20 = var10.sequenceId2;
} else {
var20 = var10.sequenceId;
}
Model var41 = null;
var22 = 0;
if (var10.itemId != -1) {
var33 = KeyHandler.ItemDefinition_get(var10.itemId);
if (var33 != null) {
var33 = var33.getCountObj(var10.itemQuantity);
var41 = var33.getModel(1);
if (var41 != null) {
var41.calculateBoundsCylinder();
var22 = var41.height / 2;
} else {
AttackOption.invalidateWidget(var10);
}
}
} else if (var10.modelType == 5) {
if (var10.modelId == 0) {
var41 = Client.playerAppearance.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1);
} else {
var41 = MouseHandler.localPlayer.getModel();
}
} else if (var20 == -1) {
var41 = var10.getModel((SequenceDefinition)null, -1, var36, MouseHandler.localPlayer.appearance);
if (var41 == null && Widget.field2955) {
AttackOption.invalidateWidget(var10);
}
} else {
SequenceDefinition var47 = World.SequenceDefinition_get(var20);
var41 = var10.getModel(var47, var10.modelFrame, var36, MouseHandler.localPlayer.appearance);
if (var41 == null && Widget.field2955) {
AttackOption.invalidateWidget(var10);
}
}
Rasterizer3D.method3895(var10.width / 2 + var12, var10.height / 2 + var13);
var23 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16;
var24 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16;
if (var41 != null) {
if (!var10.isIf3) {
var41.method4260(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24);
} else {
var41.calculateBoundsCylinder();
if (var10.modelOrthog) {
var41.method4223(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom);
} else {
var41.method4260(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY);
}
}
}
Rasterizer3D.Rasterizer3D_method3();
} else {
if (var10.type == 7) {
var39 = var10.getFont();
if (var39 == null) {
if (Widget.field2955) {
AttackOption.invalidateWidget(var10);
}
continue;
}
var20 = 0;
for (var21 = 0; var21 < var10.rawHeight; ++var21) {
for (var22 = 0; var22 < var10.rawWidth; ++var22) {
if (var10.itemIds[var20] > 0) {
var33 = KeyHandler.ItemDefinition_get(var10.itemIds[var20] - 1);
String var34;
if (var33.isStackable != 1 && var10.itemQuantities[var20] == 1) {
var34 = ScriptFrame.colorStartTag(16748608) + var33.name + "</col>";
} else {
var34 = ScriptFrame.colorStartTag(16748608) + var33.name + "</col>" + " " + 'x' + ParamComposition.formatItemStacks(var10.itemQuantities[var20]);
}
var25 = var22 * (var10.paddingX + 115) + var12;
var26 = var21 * (var10.paddingY + 12) + var13;
if (var10.textXAlignment == 0) {
var39.draw(var34, var25, var26, var10.color, var10.textShadowed ? 0 : -1);
} else if (var10.textXAlignment == 1) {
var39.drawCentered(var34, var10.width / 2 + var25, var26, var10.color, var10.textShadowed ? 0 : -1);
} else {
var39.drawRightAligned(var34, var25 + var10.width - 1, var26, var10.color, var10.textShadowed ? 0 : -1);
}
}
++var20;
}
}
}
if (var10.type == 8 && var10 == ModeWhere.field3698 && Client.field559 == Client.field648) {
var19 = 0;
var20 = 0;
Font var31 = WorldMapDecorationType.fontPlain12;
String var32 = var10.text;
String var43;
for (var32 = Player.method1833(var32, var10); var32.length() > 0; var20 = var20 + var31.ascent + 1) {
var24 = var32.indexOf("<br>");
if (var24 != -1) {
var43 = var32.substring(0, var24);
var32 = var32.substring(var24 + 4);
} else {
var43 = var32;
var32 = "";
}
var25 = var31.stringWidth(var43);
if (var25 > var19) {
var19 = var25;
}
}
var19 += 6;
var20 += 7;
var24 = var12 + var10.width - 5 - var19;
var25 = var13 + var10.height + 5;
if (var24 < var12 + 5) {
var24 = var12 + 5;
}
if (var24 + var19 > var4) {
var24 = var4 - var19;
}
if (var20 + var25 > var5) {
var25 = var5 - var20;
}
Rasterizer2D.Rasterizer2D_fillRectangle(var24, var25, var19, var20, 16777120);
Rasterizer2D.Rasterizer2D_drawRectangle(var24, var25, var19, var20, 0);
var32 = var10.text;
var26 = var25 + var31.ascent + 2;
for (var32 = Player.method1833(var32, var10); var32.length() > 0; var26 = var26 + var31.ascent + 1) {
int var27 = var32.indexOf("<br>");
if (var27 != -1) {
var43 = var32.substring(0, var27);
var32 = var32.substring(var27 + 4);
} else {
var43 = var32;
var32 = "";
}
var31.draw(var43, var24 + 3, var26, 0, -1);
}
}
if (var10.type == 9) {
if (var10.field2991) {
var19 = var12;
var20 = var13 + var10.height;
var21 = var12 + var10.width;
var22 = var13;
} else {
var19 = var12;
var20 = var13;
var21 = var12 + var10.width;
var22 = var13 + var10.height;
}
if (var10.lineWid == 1) {
Rasterizer2D.Rasterizer2D_drawLine(var19, var20, var21, var22, var10.color);
} else {
PendingSpawn.method1868(var19, var20, var21, var22, var10.color, var10.lineWid);
}
}
}
}
}
}
}
}
}
}
}
}
}