api: more imports and tile stuff
This commit is contained in:
@@ -94,8 +94,8 @@ public final class Client extends GameShell implements Usernamed {
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lle;"
|
||||
)
|
||||
@Export("widgetClickMasks")
|
||||
static NodeHashTable widgetClickMasks;
|
||||
@Export("widgetFlags")
|
||||
static NodeHashTable widgetFlags;
|
||||
@ObfuscatedName("np")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 152745331
|
||||
@@ -1492,7 +1492,7 @@ public final class Client extends GameShell implements Usernamed {
|
||||
scriptEvents = new NodeDeque();
|
||||
field891 = new NodeDeque();
|
||||
field691 = new NodeDeque();
|
||||
widgetClickMasks = new NodeHashTable(512);
|
||||
widgetFlags = new NodeHashTable(512);
|
||||
rootWidgetCount = 0;
|
||||
field877 = -2;
|
||||
field813 = new boolean[100];
|
||||
@@ -3503,7 +3503,7 @@ public final class Client extends GameShell implements Usernamed {
|
||||
++itemDragDuration;
|
||||
if (MouseHandler.MouseHandler_currentButton == 0) {
|
||||
if (field785) {
|
||||
if (KeyHandler.dragInventoryWidget == TaskHandler.field2066 && dragItemSlotSource != dragItemSlotDestination) {
|
||||
if (KeyHandler.dragInventoryWidget == TaskHandler.hoveredItemContainer && dragItemSlotSource != dragItemSlotDestination) {
|
||||
Widget var43 = KeyHandler.dragInventoryWidget;
|
||||
byte var31 = 0;
|
||||
if (field838 == 1 && var43.contentType == 206) {
|
||||
@@ -3514,7 +3514,7 @@ public final class Client extends GameShell implements Usernamed {
|
||||
var31 = 0;
|
||||
}
|
||||
|
||||
if (Projectile.method2249(KeyHandler.getWidgetClickMask(var43))) {
|
||||
if (Projectile.method2249(KeyHandler.getWidgetFlags(var43))) {
|
||||
var6 = dragItemSlotSource;
|
||||
var7 = dragItemSlotDestination;
|
||||
var43.itemIds[var7] = var43.itemIds[var6];
|
||||
@@ -3559,7 +3559,7 @@ public final class Client extends GameShell implements Usernamed {
|
||||
}
|
||||
}
|
||||
|
||||
if (Scene.method3230()) {
|
||||
if (Scene.shouldSendWalk()) {
|
||||
var4 = Scene.Scene_selectedX;
|
||||
var5 = Scene.Scene_selectedY;
|
||||
var18 = UserComparator4.getPacketBufferNode(ClientPacket.field2311, packetWriter.isaacCipher);
|
||||
@@ -3568,7 +3568,7 @@ public final class Client extends GameShell implements Usernamed {
|
||||
var18.packetBuffer.writeShort(var4 + class182.baseX);
|
||||
var18.packetBuffer.method5744(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0);
|
||||
packetWriter.addNode(var18);
|
||||
Scene.method3346();
|
||||
Scene.resetWalking();
|
||||
mouseCrossX = MouseHandler.MouseHandler_lastPressedX;
|
||||
mouseCrossY = MouseHandler.MouseHandler_lastPressedY;
|
||||
mouseCrossColor = 1;
|
||||
@@ -3905,7 +3905,7 @@ public final class Client extends GameShell implements Usernamed {
|
||||
field877 = cycle;
|
||||
viewportX = -1;
|
||||
viewportY = -1;
|
||||
TaskHandler.field2066 = null;
|
||||
TaskHandler.hoveredItemContainer = null;
|
||||
if (rootInterface != -1) {
|
||||
rootWidgetCount = 0;
|
||||
NetFileRequest.drawWidgets(rootInterface, 0, 0, Varcs.canvasWidth, class52.canvasHeight, 0, 0, -1);
|
||||
@@ -4509,12 +4509,12 @@ public final class Client extends GameShell implements Usernamed {
|
||||
|
||||
for (var29 = var5; var29 <= var21; ++var29) {
|
||||
var23 = (long)var29 + ((long)var16 << 32);
|
||||
Node var11 = widgetClickMasks.get(var23);
|
||||
Node var11 = widgetFlags.get(var23);
|
||||
if (var11 != null) {
|
||||
var11.remove();
|
||||
}
|
||||
|
||||
widgetClickMasks.put(new IntegerNode(var22), var23);
|
||||
widgetFlags.put(new IntegerNode(var22), var23);
|
||||
}
|
||||
|
||||
var1.serverPacket = null;
|
||||
@@ -4677,7 +4677,7 @@ public final class Client extends GameShell implements Usernamed {
|
||||
}
|
||||
}
|
||||
|
||||
widgetClickMasks = new NodeHashTable(512);
|
||||
widgetFlags = new NodeHashTable(512);
|
||||
|
||||
while (var3.offset < var16) {
|
||||
var22 = var3.readInt();
|
||||
@@ -4687,7 +4687,7 @@ public final class Client extends GameShell implements Usernamed {
|
||||
|
||||
for (int var33 = var29; var33 <= var30; ++var33) {
|
||||
var25 = (long)var33 + ((long)var22 << 32);
|
||||
widgetClickMasks.put(new IntegerNode(var31), var25);
|
||||
widgetFlags.put(new IntegerNode(var31), var25);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5435,14 +5435,14 @@ public final class Client extends GameShell implements Usernamed {
|
||||
var12 = menuArguments1[var2];
|
||||
var5 = menuArguments2[var2];
|
||||
Widget var13 = WorldMapSprite.getWidget(var5);
|
||||
var8 = KeyHandler.getWidgetClickMask(var13);
|
||||
var8 = KeyHandler.getWidgetFlags(var13);
|
||||
boolean var7 = (var8 >> 28 & 1) != 0;
|
||||
if (var7) {
|
||||
break label281;
|
||||
}
|
||||
|
||||
Object var10000 = null;
|
||||
if (Projectile.method2249(KeyHandler.getWidgetClickMask(var13))) {
|
||||
if (Projectile.method2249(KeyHandler.getWidgetFlags(var13))) {
|
||||
break label281;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -257,7 +257,8 @@ public class FloorUnderlayDefinition extends DualNode {
|
||||
signature = "(IB)Z",
|
||||
garbageValue = "7"
|
||||
)
|
||||
public static boolean method4615(int var0) {
|
||||
@Export("Widget_isItemContainer")
|
||||
public static boolean Widget_isItemContainer(int var0) {
|
||||
return (var0 >> 30 & 1) != 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -318,7 +318,7 @@ public class FriendSystem {
|
||||
garbageValue = "74"
|
||||
)
|
||||
static Widget method1994(Widget var0) {
|
||||
int var1 = WorldMapDecoration.method402(KeyHandler.getWidgetClickMask(var0));
|
||||
int var1 = WorldMapDecoration.method402(KeyHandler.getWidgetFlags(var0));
|
||||
if (var1 == 0) {
|
||||
return null;
|
||||
} else {
|
||||
|
||||
@@ -85,7 +85,7 @@ final class GrandExchangeOfferWorldComparator implements Comparator {
|
||||
var4.actions = null;
|
||||
return 1;
|
||||
} else if (var0 == 1308) {
|
||||
var4.field2744 = Interpreter.Interpreter_intStack[--UrlRequester.Interpreter_intStackSize] == 1;
|
||||
var4.prioritizeMenuEntry = Interpreter.Interpreter_intStack[--UrlRequester.Interpreter_intStackSize] == 1;
|
||||
return 1;
|
||||
} else if (var0 == 1309) {
|
||||
--UrlRequester.Interpreter_intStackSize;
|
||||
|
||||
@@ -656,9 +656,9 @@ public final class KeyHandler implements KeyListener, FocusListener {
|
||||
signature = "(Lhd;I)I",
|
||||
garbageValue = "-1756984804"
|
||||
)
|
||||
@Export("getWidgetClickMask")
|
||||
static int getWidgetClickMask(Widget var0) {
|
||||
IntegerNode var1 = (IntegerNode)Client.widgetClickMasks.get(((long)var0.id << 32) + (long)var0.childIndex);
|
||||
return var1 != null ? var1.integer : var0.clickMask;
|
||||
@Export("getWidgetFlags")
|
||||
static int getWidgetFlags(Widget var0) {
|
||||
IntegerNode var1 = (IntegerNode)Client.widgetFlags.get(((long)var0.id << 32) + (long)var0.childIndex);
|
||||
return var1 != null ? var1.integer : var0.flags;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,127 +178,128 @@ public class Message extends DualNode {
|
||||
signature = "(Lhd;III)V",
|
||||
garbageValue = "-1019531565"
|
||||
)
|
||||
static final void method1283(Widget var0, int var1, int var2) {
|
||||
if (var0.buttonType == 1) {
|
||||
ScriptEvent.insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id);
|
||||
@Export("Widget_addToMenu")
|
||||
static final void Widget_addToMenu(Widget widget, int var1, int var2) {
|
||||
if (widget.buttonType == 1) {
|
||||
ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 24, 0, 0, widget.id);
|
||||
}
|
||||
|
||||
String var3;
|
||||
if (var0.buttonType == 2 && !Client.isSpellSelected) {
|
||||
var3 = WorldMapAreaData.method762(var0);
|
||||
if (widget.buttonType == 2 && !Client.isSpellSelected) {
|
||||
var3 = WorldMapAreaData.Widget_getSpellActionName(widget);
|
||||
if (var3 != null) {
|
||||
ScriptEvent.insertMenuItemNoShift(var3, ItemContainer.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id);
|
||||
ScriptEvent.insertMenuItemNoShift(var3, ItemContainer.colorStartTag(65280) + widget.spellName, 25, 0, -1, widget.id);
|
||||
}
|
||||
}
|
||||
|
||||
if (var0.buttonType == 3) {
|
||||
ScriptEvent.insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id);
|
||||
if (widget.buttonType == 3) {
|
||||
ScriptEvent.insertMenuItemNoShift("Close", "", 26, 0, 0, widget.id);
|
||||
}
|
||||
|
||||
if (var0.buttonType == 4) {
|
||||
ScriptEvent.insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id);
|
||||
if (widget.buttonType == 4) {
|
||||
ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 28, 0, 0, widget.id);
|
||||
}
|
||||
|
||||
if (var0.buttonType == 5) {
|
||||
ScriptEvent.insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id);
|
||||
if (widget.buttonType == 5) {
|
||||
ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 29, 0, 0, widget.id);
|
||||
}
|
||||
|
||||
if (var0.buttonType == 6 && Client.meslayerContinueWidget == null) {
|
||||
ScriptEvent.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id);
|
||||
if (widget.buttonType == 6 && Client.meslayerContinueWidget == null) {
|
||||
ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 30, 0, -1, widget.id);
|
||||
}
|
||||
|
||||
int var4;
|
||||
int var6;
|
||||
int var7;
|
||||
int var13;
|
||||
if (var0.type == 2) {
|
||||
if (widget.type == 2) {
|
||||
var13 = 0;
|
||||
|
||||
for (var4 = 0; var4 < var0.height; ++var4) {
|
||||
for (int var5 = 0; var5 < var0.width; ++var5) {
|
||||
var6 = (var0.paddingX + 32) * var5;
|
||||
var7 = (var0.paddingY + 32) * var4;
|
||||
for (var4 = 0; var4 < widget.height; ++var4) {
|
||||
for (int var5 = 0; var5 < widget.width; ++var5) {
|
||||
var6 = (widget.paddingX + 32) * var5;
|
||||
var7 = (widget.paddingY + 32) * var4;
|
||||
if (var13 < 20) {
|
||||
var6 += var0.inventoryXOffsets[var13];
|
||||
var7 += var0.inventoryYOffsets[var13];
|
||||
var6 += widget.inventoryXOffsets[var13];
|
||||
var7 += widget.inventoryYOffsets[var13];
|
||||
}
|
||||
|
||||
if (var1 >= var6 && var2 >= var7 && var1 < var6 + 32 && var2 < var7 + 32) {
|
||||
Client.dragItemSlotDestination = var13;
|
||||
TaskHandler.field2066 = var0;
|
||||
if (var0.itemIds[var13] > 0) {
|
||||
ItemDefinition var8 = KitDefinition.ItemDefinition_get(var0.itemIds[var13] - 1);
|
||||
if (Client.isItemSelected == 1 && FloorUnderlayDefinition.method4615(KeyHandler.getWidgetClickMask(var0))) {
|
||||
if (var0.id != AbstractUserComparator.selectedItemWidget || var13 != LoginScreenAnimation.selectedItemSlot) {
|
||||
ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + var8.name, 31, var8.id, var13, var0.id);
|
||||
TaskHandler.hoveredItemContainer = widget;
|
||||
if (widget.itemIds[var13] > 0) {
|
||||
ItemDefinition itemDef = KitDefinition.ItemDefinition_get(widget.itemIds[var13] - 1);
|
||||
if (Client.isItemSelected == 1 && FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) {
|
||||
if (widget.id != AbstractUserComparator.selectedItemWidget || var13 != LoginScreenAnimation.selectedItemSlot) {
|
||||
ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + itemDef.name, 31, itemDef.id, var13, widget.id);
|
||||
}
|
||||
} else if (Client.isSpellSelected && FloorUnderlayDefinition.method4615(KeyHandler.getWidgetClickMask(var0))) {
|
||||
} else if (Client.isSpellSelected && FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) {
|
||||
if ((WorldMapSprite.selectedSpellFlags & 16) == 16) {
|
||||
ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + var8.name, 32, var8.id, var13, var0.id);
|
||||
ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + itemDef.name, 32, itemDef.id, var13, widget.id);
|
||||
}
|
||||
} else {
|
||||
String[] var9 = var8.inventoryActions;
|
||||
int var10 = -1;
|
||||
if (Client.shiftClickDrop && ModelData0.method3375()) {
|
||||
var10 = var8.getShiftClickIndex();
|
||||
String[] actionsAry = itemDef.inventoryActions;
|
||||
int shiftClickIdx = -1;
|
||||
if (Client.shiftClickDrop && ModelData0.shouldPrioritizeDrop()) {
|
||||
shiftClickIdx = itemDef.getShiftClickIndex();
|
||||
}
|
||||
|
||||
int var11;
|
||||
if (FloorUnderlayDefinition.method4615(KeyHandler.getWidgetClickMask(var0))) {
|
||||
for (var11 = 4; var11 >= 3; --var11) {
|
||||
if (var11 != var10) {
|
||||
WallDecoration.addWidgetItemMenuItem(var0, var8, var13, var11, false);
|
||||
int loopIdx;
|
||||
if (FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) {
|
||||
for (loopIdx = 4; loopIdx >= 3; --loopIdx) {
|
||||
if (loopIdx != shiftClickIdx) {
|
||||
WallDecoration.addWidgetItemMenuItem(widget, itemDef, var13, loopIdx, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (class198.method3774(KeyHandler.getWidgetClickMask(var0))) {
|
||||
ScriptEvent.insertMenuItemNoShift("Use", ItemContainer.colorStartTag(16748608) + var8.name, 38, var8.id, var13, var0.id);
|
||||
if (class198.Widget_containerHasUseOption(KeyHandler.getWidgetFlags(widget))) {
|
||||
ScriptEvent.insertMenuItemNoShift("Use", ItemContainer.colorStartTag(16748608) + itemDef.name, 38, itemDef.id, var13, widget.id);
|
||||
}
|
||||
|
||||
if (FloorUnderlayDefinition.method4615(KeyHandler.getWidgetClickMask(var0))) {
|
||||
for (var11 = 2; var11 >= 0; --var11) {
|
||||
if (var11 != var10) {
|
||||
WallDecoration.addWidgetItemMenuItem(var0, var8, var13, var11, false);
|
||||
if (FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) {
|
||||
for (loopIdx = 2; loopIdx >= 0; --loopIdx) {
|
||||
if (loopIdx != shiftClickIdx) {
|
||||
WallDecoration.addWidgetItemMenuItem(widget, itemDef, var13, loopIdx, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (var10 >= 0) {
|
||||
WallDecoration.addWidgetItemMenuItem(var0, var8, var13, var10, true);
|
||||
if (shiftClickIdx >= 0) {
|
||||
WallDecoration.addWidgetItemMenuItem(widget, itemDef, var13, shiftClickIdx, true);
|
||||
}
|
||||
}
|
||||
|
||||
var9 = var0.itemActions;
|
||||
if (var9 != null) {
|
||||
for (var11 = 4; var11 >= 0; --var11) {
|
||||
if (var9[var11] != null) {
|
||||
byte var12 = 0;
|
||||
if (var11 == 0) {
|
||||
var12 = 39;
|
||||
actionsAry = widget.itemActions;
|
||||
if (actionsAry != null) {
|
||||
for (loopIdx = 4; loopIdx >= 0; --loopIdx) {
|
||||
if (actionsAry[loopIdx] != null) {
|
||||
byte opcode = 0;
|
||||
if (loopIdx == 0) {
|
||||
opcode = 39;
|
||||
}
|
||||
|
||||
if (var11 == 1) {
|
||||
var12 = 40;
|
||||
if (loopIdx == 1) {
|
||||
opcode = 40;
|
||||
}
|
||||
|
||||
if (var11 == 2) {
|
||||
var12 = 41;
|
||||
if (loopIdx == 2) {
|
||||
opcode = 41;
|
||||
}
|
||||
|
||||
if (var11 == 3) {
|
||||
var12 = 42;
|
||||
if (loopIdx == 3) {
|
||||
opcode = 42;
|
||||
}
|
||||
|
||||
if (var11 == 4) {
|
||||
var12 = 43;
|
||||
if (loopIdx == 4) {
|
||||
opcode = 43;
|
||||
}
|
||||
|
||||
ScriptEvent.insertMenuItemNoShift(var9[var11], ItemContainer.colorStartTag(16748608) + var8.name, var12, var8.id, var13, var0.id);
|
||||
ScriptEvent.insertMenuItemNoShift(actionsAry[loopIdx], ItemContainer.colorStartTag(16748608) + itemDef.name, opcode, itemDef.id, var13, widget.id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16748608) + var8.name, 1005, var8.id, var13, var0.id);
|
||||
ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16748608) + itemDef.name, 1005, itemDef.id, var13, widget.id);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -308,55 +309,55 @@ public class Message extends DualNode {
|
||||
}
|
||||
}
|
||||
|
||||
if (var0.isIf3) {
|
||||
if (widget.isIf3) {
|
||||
if (Client.isSpellSelected) {
|
||||
var4 = KeyHandler.getWidgetClickMask(var0);
|
||||
var4 = KeyHandler.getWidgetFlags(widget);
|
||||
boolean var19 = (var4 >> 21 & 1) != 0;
|
||||
if (var19 && (WorldMapSprite.selectedSpellFlags & 32) == 32) {
|
||||
ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id);
|
||||
ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + widget.dataText, 58, 0, widget.childIndex, widget.id);
|
||||
}
|
||||
} else {
|
||||
for (var13 = 9; var13 >= 5; --var13) {
|
||||
var6 = KeyHandler.getWidgetClickMask(var0);
|
||||
var6 = KeyHandler.getWidgetFlags(widget);
|
||||
boolean var17 = (var6 >> var13 + 1 & 1) != 0;
|
||||
String var14;
|
||||
if (!var17 && var0.onOp == null) {
|
||||
if (!var17 && widget.onOp == null) {
|
||||
var14 = null;
|
||||
} else if (var0.actions != null && var0.actions.length > var13 && var0.actions[var13] != null && var0.actions[var13].trim().length() != 0) {
|
||||
var14 = var0.actions[var13];
|
||||
} else if (widget.actions != null && widget.actions.length > var13 && widget.actions[var13] != null && widget.actions[var13].trim().length() != 0) {
|
||||
var14 = widget.actions[var13];
|
||||
} else {
|
||||
var14 = null;
|
||||
}
|
||||
|
||||
if (var14 != null) {
|
||||
ScriptEvent.insertMenuItemNoShift(var14, var0.dataText, 1007, var13 + 1, var0.childIndex, var0.id);
|
||||
ScriptEvent.insertMenuItemNoShift(var14, widget.dataText, 1007, var13 + 1, widget.childIndex, widget.id);
|
||||
}
|
||||
}
|
||||
|
||||
var3 = WorldMapAreaData.method762(var0);
|
||||
var3 = WorldMapAreaData.Widget_getSpellActionName(widget);
|
||||
if (var3 != null) {
|
||||
ScriptEvent.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id);
|
||||
ScriptEvent.insertMenuItemNoShift(var3, widget.dataText, 25, 0, widget.childIndex, widget.id);
|
||||
}
|
||||
|
||||
for (var4 = 4; var4 >= 0; --var4) {
|
||||
var7 = KeyHandler.getWidgetClickMask(var0);
|
||||
var7 = KeyHandler.getWidgetFlags(widget);
|
||||
boolean var18 = (var7 >> var4 + 1 & 1) != 0;
|
||||
String var15;
|
||||
if (!var18 && var0.onOp == null) {
|
||||
if (!var18 && widget.onOp == null) {
|
||||
var15 = null;
|
||||
} else if (var0.actions != null && var0.actions.length > var4 && var0.actions[var4] != null && var0.actions[var4].trim().length() != 0) {
|
||||
var15 = var0.actions[var4];
|
||||
} else if (widget.actions != null && widget.actions.length > var4 && widget.actions[var4] != null && widget.actions[var4].trim().length() != 0) {
|
||||
var15 = widget.actions[var4];
|
||||
} else {
|
||||
var15 = null;
|
||||
}
|
||||
|
||||
if (var15 != null) {
|
||||
ApproximateRouteStrategy.insertMenuItem(var15, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.field2744);
|
||||
ApproximateRouteStrategy.insertMenuItem(var15, widget.dataText, 57, var4 + 1, widget.childIndex, widget.id, widget.prioritizeMenuEntry);
|
||||
}
|
||||
}
|
||||
|
||||
if (WorldMapLabel.method487(KeyHandler.getWidgetClickMask(var0))) {
|
||||
ScriptEvent.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id);
|
||||
if (WorldMapLabel.Widget_hasContinueOption(KeyHandler.getWidgetFlags(widget))) {
|
||||
ScriptEvent.insertMenuItemNoShift("Continue", "", 30, 0, widget.childIndex, widget.id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
@@ -32,7 +33,8 @@ public class ModelData0 {
|
||||
signature = "(I)Z",
|
||||
garbageValue = "1532544056"
|
||||
)
|
||||
static boolean method3375() {
|
||||
@Export("shouldPrioritizeDrop")
|
||||
static boolean shouldPrioritizeDrop() {
|
||||
return Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -422,7 +422,7 @@ public class PlayerAppearance {
|
||||
garbageValue = "1446127367"
|
||||
)
|
||||
static void method4177(int var0) {
|
||||
for (IntegerNode var1 = (IntegerNode)Client.widgetClickMasks.first(); var1 != null; var1 = (IntegerNode)Client.widgetClickMasks.next()) {
|
||||
for (IntegerNode var1 = (IntegerNode)Client.widgetFlags.first(); var1 != null; var1 = (IntegerNode)Client.widgetFlags.next()) {
|
||||
if ((long)var0 == (var1.key >> 48 & 65535L)) {
|
||||
var1.remove();
|
||||
}
|
||||
|
||||
@@ -1037,13 +1037,13 @@ public class Scene {
|
||||
|
||||
@ObfuscatedName("av")
|
||||
@Export("menuOpen")
|
||||
public void menuOpen(int var1, int var2, int var3, boolean var4) {
|
||||
if (!method3230() || var4) {
|
||||
public void menuOpen(int plane, int mouseX, int mouseY, boolean walking) {
|
||||
if (!shouldSendWalk() || walking) {
|
||||
checkClick = true;
|
||||
viewportWalking = var4;
|
||||
Scene_selectedPlane = var1;
|
||||
Scene_selectedScreenX = var2;
|
||||
Scene_selectedScreenY = var3;
|
||||
viewportWalking = walking;
|
||||
Scene_selectedPlane = plane;
|
||||
Scene_selectedScreenX = mouseX;
|
||||
Scene_selectedScreenY = mouseY;
|
||||
Scene_selectedX = -1;
|
||||
Scene_selectedY = -1;
|
||||
}
|
||||
@@ -2541,12 +2541,14 @@ public class Scene {
|
||||
}
|
||||
|
||||
@ObfuscatedName("at")
|
||||
public static boolean method3230() {
|
||||
@Export("shouldSendWalk")
|
||||
public static boolean shouldSendWalk() {
|
||||
return viewportWalking && Scene_selectedX != -1;
|
||||
}
|
||||
|
||||
@ObfuscatedName("aa")
|
||||
public static void method3346() {
|
||||
@Export("resetWalking")
|
||||
public static void resetWalking() {
|
||||
Scene_selectedX = -1;
|
||||
viewportWalking = false;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,8 @@ public class TaskHandler implements Runnable {
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lhd;"
|
||||
)
|
||||
static Widget field2066;
|
||||
@Export("hoveredItemContainer")
|
||||
static Widget hoveredItemContainer;
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lfa;"
|
||||
|
||||
@@ -146,31 +146,31 @@ public final class WallDecoration {
|
||||
garbageValue = "-771039466"
|
||||
)
|
||||
@Export("addWidgetItemMenuItem")
|
||||
static final void addWidgetItemMenuItem(Widget var0, ItemDefinition var1, int var2, int var3, boolean var4) {
|
||||
String[] var5 = var1.inventoryActions;
|
||||
byte var6 = -1;
|
||||
String var7 = null;
|
||||
if (var5 != null && var5[var3] != null) {
|
||||
if (var3 == 0) {
|
||||
var6 = 33;
|
||||
} else if (var3 == 1) {
|
||||
var6 = 34;
|
||||
} else if (var3 == 2) {
|
||||
var6 = 35;
|
||||
} else if (var3 == 3) {
|
||||
var6 = 36;
|
||||
static final void addWidgetItemMenuItem(Widget widget, ItemDefinition itemDef, int slotIdx, int actionIdx, boolean forceLeftClick) {
|
||||
String[] itemActions = itemDef.inventoryActions;
|
||||
byte opcode = -1;
|
||||
String action = null;
|
||||
if (itemActions != null && itemActions[actionIdx] != null) {
|
||||
if (actionIdx == 0) {
|
||||
opcode = 33;
|
||||
} else if (actionIdx == 1) {
|
||||
opcode = 34;
|
||||
} else if (actionIdx == 2) {
|
||||
opcode = 35;
|
||||
} else if (actionIdx == 3) {
|
||||
opcode = 36;
|
||||
} else {
|
||||
var6 = 37;
|
||||
opcode = 37;
|
||||
}
|
||||
|
||||
var7 = var5[var3];
|
||||
} else if (var3 == 4) {
|
||||
var6 = 37;
|
||||
var7 = "Drop";
|
||||
action = itemActions[actionIdx];
|
||||
} else if (actionIdx == 4) {
|
||||
opcode = 37;
|
||||
action = "Drop";
|
||||
}
|
||||
|
||||
if (var6 != -1 && var7 != null) {
|
||||
ApproximateRouteStrategy.insertMenuItem(var7, ItemContainer.colorStartTag(16748608) + var1.name, var6, var1.id, var2, var0.id, var4);
|
||||
if (opcode != -1 && action != null) {
|
||||
ApproximateRouteStrategy.insertMenuItem(action, ItemContainer.colorStartTag(16748608) + itemDef.name, opcode, itemDef.id, slotIdx, widget.id, forceLeftClick);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -440,8 +440,8 @@ public class Widget extends Node {
|
||||
@ObfuscatedGetter(
|
||||
intValue = 1451565177
|
||||
)
|
||||
@Export("clickMask")
|
||||
public int clickMask;
|
||||
@Export("flags")
|
||||
public int flags;
|
||||
@ObfuscatedName("cq")
|
||||
public boolean field2709;
|
||||
@ObfuscatedName("co")
|
||||
@@ -681,7 +681,8 @@ public class Widget extends Node {
|
||||
@Export("noScrollThrough")
|
||||
public boolean noScrollThrough;
|
||||
@ObfuscatedName("fn")
|
||||
public boolean field2744;
|
||||
@Export("prioritizeMenuEntry")
|
||||
public boolean prioritizeMenuEntry;
|
||||
|
||||
static {
|
||||
Widget_cachedSprites = new EvictingDualNodeHashTable(200);
|
||||
@@ -759,7 +760,7 @@ public class Widget extends Node {
|
||||
this.textShadowed = false;
|
||||
this.paddingX = 0;
|
||||
this.paddingY = 0;
|
||||
this.clickMask = 0;
|
||||
this.flags = 0;
|
||||
this.field2709 = false;
|
||||
this.dataText = "";
|
||||
this.parent = null;
|
||||
@@ -785,7 +786,7 @@ public class Widget extends Node {
|
||||
this.cycle = -1;
|
||||
this.noClickThrough = false;
|
||||
this.noScrollThrough = false;
|
||||
this.field2744 = false;
|
||||
this.prioritizeMenuEntry = false;
|
||||
}
|
||||
|
||||
@ObfuscatedName("g")
|
||||
@@ -863,22 +864,22 @@ public class Widget extends Node {
|
||||
this.itemQuantities = new int[this.rawWidth * this.rawHeight];
|
||||
var4 = var1.readUnsignedByte();
|
||||
if (var4 == 1) {
|
||||
this.clickMask |= 268435456;
|
||||
this.flags |= 268435456;
|
||||
}
|
||||
|
||||
var5 = var1.readUnsignedByte();
|
||||
if (var5 == 1) {
|
||||
this.clickMask |= 1073741824;
|
||||
this.flags |= 1073741824;
|
||||
}
|
||||
|
||||
var6 = var1.readUnsignedByte();
|
||||
if (var6 == 1) {
|
||||
this.clickMask |= Integer.MIN_VALUE;
|
||||
this.flags |= Integer.MIN_VALUE;
|
||||
}
|
||||
|
||||
int var7 = var1.readUnsignedByte();
|
||||
if (var7 == 1) {
|
||||
this.clickMask |= 536870912;
|
||||
this.flags |= 536870912;
|
||||
}
|
||||
|
||||
this.paddingX = var1.readUnsignedByte();
|
||||
@@ -905,7 +906,7 @@ public class Widget extends Node {
|
||||
String var10 = var1.readStringCp1252NullTerminated();
|
||||
if (var10.length() > 0) {
|
||||
this.itemActions[var8] = var10;
|
||||
this.clickMask |= 1 << var8 + 23;
|
||||
this.flags |= 1 << var8 + 23;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -989,7 +990,7 @@ public class Widget extends Node {
|
||||
this.paddingY = var1.readShort();
|
||||
var4 = var1.readUnsignedByte();
|
||||
if (var4 == 1) {
|
||||
this.clickMask |= 1073741824;
|
||||
this.flags |= 1073741824;
|
||||
}
|
||||
|
||||
this.itemActions = new String[5];
|
||||
@@ -998,7 +999,7 @@ public class Widget extends Node {
|
||||
String var11 = var1.readStringCp1252NullTerminated();
|
||||
if (var11.length() > 0) {
|
||||
this.itemActions[var5] = var11;
|
||||
this.clickMask |= 1 << var5 + 23;
|
||||
this.flags |= 1 << var5 + 23;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1011,7 +1012,7 @@ public class Widget extends Node {
|
||||
this.spellActionName = var1.readStringCp1252NullTerminated();
|
||||
this.spellName = var1.readStringCp1252NullTerminated();
|
||||
var4 = var1.readUnsignedShort() & 63;
|
||||
this.clickMask |= var4 << 11;
|
||||
this.flags |= var4 << 11;
|
||||
}
|
||||
|
||||
if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5 || this.buttonType == 6) {
|
||||
@@ -1036,11 +1037,11 @@ public class Widget extends Node {
|
||||
}
|
||||
|
||||
if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5) {
|
||||
this.clickMask |= 4194304;
|
||||
this.flags |= 4194304;
|
||||
}
|
||||
|
||||
if (this.buttonType == 6) {
|
||||
this.clickMask |= 1;
|
||||
this.flags |= 1;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1149,7 +1150,7 @@ public class Widget extends Node {
|
||||
this.field2633 = var1.readUnsignedByte() == 1;
|
||||
}
|
||||
|
||||
this.clickMask = var1.readMedium();
|
||||
this.flags = var1.readMedium();
|
||||
this.dataText = var1.readStringCp1252NullTerminated();
|
||||
int var2 = var1.readUnsignedByte();
|
||||
if (var2 > 0) {
|
||||
|
||||
@@ -198,8 +198,9 @@ public class WorldMapAreaData extends WorldMapArea {
|
||||
signature = "(Lhd;B)Ljava/lang/String;",
|
||||
garbageValue = "-51"
|
||||
)
|
||||
static String method762(Widget var0) {
|
||||
if (WorldMapID.method617(KeyHandler.getWidgetClickMask(var0)) == 0) {
|
||||
@Export("Widget_getSpellActionName")
|
||||
static String Widget_getSpellActionName(Widget var0) {
|
||||
if (WorldMapID.Widget_unpackTargetMask(KeyHandler.getWidgetFlags(var0)) == 0) {
|
||||
return null;
|
||||
} else {
|
||||
return var0.spellActionName != null && var0.spellActionName.trim().length() != 0 ? var0.spellActionName : null;
|
||||
|
||||
@@ -59,7 +59,8 @@ public class WorldMapID {
|
||||
signature = "(II)I",
|
||||
garbageValue = "-211582550"
|
||||
)
|
||||
public static int method617(int var0) {
|
||||
@Export("Widget_unpackTargetMask")
|
||||
public static int Widget_unpackTargetMask(int var0) {
|
||||
return var0 >> 11 & 63;
|
||||
}
|
||||
|
||||
|
||||
@@ -76,7 +76,8 @@ public class WorldMapLabel {
|
||||
signature = "(II)Z",
|
||||
garbageValue = "578317705"
|
||||
)
|
||||
public static boolean method487(int var0) {
|
||||
@Export("Widget_hasContinueOption")
|
||||
public static boolean Widget_hasContinueOption(int var0) {
|
||||
return (var0 & 1) != 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -494,7 +494,7 @@ public final class WorldMapManager {
|
||||
static int method717(int var0, Script var1, boolean var2) {
|
||||
Widget var3 = WorldMapSprite.getWidget(Interpreter.Interpreter_intStack[--UrlRequester.Interpreter_intStackSize]);
|
||||
if (var0 == ScriptOpcodes.IF_GETTARGETMASK) {
|
||||
Interpreter.Interpreter_intStack[++UrlRequester.Interpreter_intStackSize - 1] = WorldMapID.method617(KeyHandler.getWidgetClickMask(var3));
|
||||
Interpreter.Interpreter_intStack[++UrlRequester.Interpreter_intStackSize - 1] = WorldMapID.Widget_unpackTargetMask(KeyHandler.getWidgetFlags(var3));
|
||||
return 1;
|
||||
} else if (var0 != ScriptOpcodes.IF_GETOP) {
|
||||
if (var0 == ScriptOpcodes.IF_GETOPBASE) {
|
||||
|
||||
@@ -613,9 +613,9 @@ public class WorldMapSection0 implements WorldMapSection {
|
||||
var16 = WorldMapLabelSize.getWidgetChild(var1, var0);
|
||||
if (var16 != null) {
|
||||
GrandExchangeOffer.Widget_runOnTargetLeave();
|
||||
AttackOption.selectSpell(var1, var0, WorldMapID.method617(KeyHandler.getWidgetClickMask(var16)), var16.itemId);
|
||||
AttackOption.selectSpell(var1, var0, WorldMapID.Widget_unpackTargetMask(KeyHandler.getWidgetFlags(var16)), var16.itemId);
|
||||
Client.isItemSelected = 0;
|
||||
Client.selectedSpellActionName = WorldMapAreaData.method762(var16);
|
||||
Client.selectedSpellActionName = WorldMapAreaData.Widget_getSpellActionName(var16);
|
||||
if (Client.selectedSpellActionName == null) {
|
||||
Client.selectedSpellActionName = "null";
|
||||
}
|
||||
|
||||
@@ -16,7 +16,8 @@ public class class198 {
|
||||
signature = "(IB)Z",
|
||||
garbageValue = "-100"
|
||||
)
|
||||
public static boolean method3774(int var0) {
|
||||
@Export("Widget_containerHasUseOption")
|
||||
public static boolean Widget_containerHasUseOption(int var0) {
|
||||
return (var0 >> 31 & 1) != 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,7 +243,7 @@ public class class247 {
|
||||
}
|
||||
|
||||
if (var11) {
|
||||
int var8 = KeyHandler.getWidgetClickMask(var5);
|
||||
int var8 = KeyHandler.getWidgetFlags(var5);
|
||||
int var9 = var0 - 1;
|
||||
boolean var7 = (var8 >> var9 + 1 & 1) != 0;
|
||||
if (var7) {
|
||||
|
||||
@@ -86,7 +86,7 @@ public enum class7 implements Enumerated {
|
||||
static int method100(int var0, Script var1, boolean var2) {
|
||||
Widget var3 = var2 ? KeyHandler.field407 : SecureRandomCallable.field544;
|
||||
if (var0 == ScriptOpcodes.CC_GETTARGETMASK) {
|
||||
Interpreter.Interpreter_intStack[++UrlRequester.Interpreter_intStackSize - 1] = WorldMapID.method617(KeyHandler.getWidgetClickMask(var3));
|
||||
Interpreter.Interpreter_intStack[++UrlRequester.Interpreter_intStackSize - 1] = WorldMapID.Widget_unpackTargetMask(KeyHandler.getWidgetFlags(var3));
|
||||
return 1;
|
||||
} else if (var0 != ScriptOpcodes.CC_GETOP) {
|
||||
if (var0 == ScriptOpcodes.CC_GETOPBASE) {
|
||||
|
||||
@@ -134,7 +134,7 @@ public class class9 {
|
||||
static final void updateInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
|
||||
for (int var8 = 0; var8 < var0.length; ++var8) {
|
||||
Widget var9 = var0[var8];
|
||||
if (var9 != null && var9.parentId == var1 && (!var9.isIf3 || var9.type == 0 || var9.hasListener || KeyHandler.getWidgetClickMask(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) {
|
||||
if (var9 != null && var9.parentId == var1 && (!var9.isIf3 || var9.type == 0 || var9.hasListener || KeyHandler.getWidgetFlags(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) {
|
||||
if (var9.isIf3) {
|
||||
if (Entity.isComponentHidden(var9)) {
|
||||
continue;
|
||||
@@ -268,7 +268,7 @@ public class class9 {
|
||||
if (var9.contentType == 1400) {
|
||||
class228.worldMap.addElementMenuOptions(var10, var11, var9.width, var9.height, var26, var18);
|
||||
} else {
|
||||
Message.method1283(var9, var26 - var10, var18 - var11);
|
||||
Message.Widget_addToMenu(var9, var26 - var10, var18 - var11);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,8 +305,8 @@ public class class9 {
|
||||
class247.widgetDefaultMenuAction(var20 + 1, var9.id, var9.childIndex, var9.itemId, "");
|
||||
} else if (var20 == 10) {
|
||||
GrandExchangeOffer.Widget_runOnTargetLeave();
|
||||
AttackOption.selectSpell(var9.id, var9.childIndex, WorldMapID.method617(KeyHandler.getWidgetClickMask(var9)), var9.itemId);
|
||||
Client.selectedSpellActionName = WorldMapAreaData.method762(var9);
|
||||
AttackOption.selectSpell(var9.id, var9.childIndex, WorldMapID.Widget_unpackTargetMask(KeyHandler.getWidgetFlags(var9)), var9.itemId);
|
||||
Client.selectedSpellActionName = WorldMapAreaData.Widget_getSpellActionName(var9);
|
||||
if (Client.selectedSpellActionName == null) {
|
||||
Client.selectedSpellActionName = "null";
|
||||
}
|
||||
@@ -365,7 +365,7 @@ public class class9 {
|
||||
class228.worldMap.method6693(var26, var18, var33 & var34, var33 & var21);
|
||||
}
|
||||
|
||||
if (Client.clickedWidget != null && var9 != Client.clickedWidget && var33 && WorldMapScaleHandler.method819(KeyHandler.getWidgetClickMask(var9))) {
|
||||
if (Client.clickedWidget != null && var9 != Client.clickedWidget && var33 && WorldMapScaleHandler.method819(KeyHandler.getWidgetFlags(var9))) {
|
||||
Client.draggedOnWidget = var9;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user