mes: Add right click 'Last-destination' option for Jewellery Boxes (#1737)

* api: menu event, prio runelite menuopcode, widget stuff, eventbus logging

add "Menu" event to keep everything in chronological order

add MenuOpcode.PRIO_RUNELITE which is sub 1000 so it doesn't get sorted

add Jewellery box widget info

add getOnOp

fix exception logging in eventbus

redisable gpu debug messages

* mes: add (right click only) last destination to jewellery boxes

* mes: use Object objects for eventbus instead of strings
This commit is contained in:
Lucwousin
2019-10-08 20:18:20 +02:00
committed by Ganom
parent eadc7bc1b6
commit 1a1684d1c3
19 changed files with 1682 additions and 775 deletions

View File

@@ -3209,7 +3209,7 @@ public final class Client extends GameShell implements Usernamed {
do {
var40 = (ScriptEvent)scriptEvents.removeLast();
if (var40 == null) {
this.method1323();
this.menu();
if (Tiles.worldMap != null) {
Tiles.worldMap.method6272(WorldMapRectangle.plane, class223.baseX * 64 + (class223.localPlayer.x >> 7), class286.baseY * 64 + (class223.localPlayer.y >> 7), false);
Tiles.worldMap.loadCache();
@@ -5105,7 +5105,8 @@ public final class Client extends GameShell implements Usernamed {
signature = "(S)V",
garbageValue = "255"
)
final void method1323() {
@Export("menu")
final void menu() {
boolean var1 = false;
int var2;
@@ -5185,7 +5186,7 @@ public final class Client extends GameShell implements Usernamed {
}
if (var7 != -1) {
ModelData0.method3214(var7);
ModelData0.clickMenuIndex(var7);
}
isMenuOpen = false;
@@ -5238,7 +5239,7 @@ public final class Client extends GameShell implements Usernamed {
}
if ((var16 == 1 || !WorldMapIcon_1.mouseCam && var16 == 4) && menuOptionsCount > 0) {
ModelData0.method3214(var2);
ModelData0.clickMenuIndex(var2);
}
if (var16 == 2 && menuOptionsCount > 0) {

File diff suppressed because it is too large Load Diff

View File

@@ -41,7 +41,8 @@ public class ModelData0 {
signature = "(II)V",
garbageValue = "1738289394"
)
static final void method3214(int var0) {
@Export("clickMenuIndex")
static final void clickMenuIndex(int var0) {
if (var0 >= 0) {
int var1 = Client.menuArguments1[var0];
int var2 = Client.menuArguments2[var0];

View File

@@ -526,7 +526,7 @@ public class MusicPatchNode extends Node {
if (var22) {
if (var20 < 10) {
WorldMapSection1.method605(var20 + 1, var9.id, var9.childIndex, var9.itemId, "");
WorldMapSection1.widgetDefaultMenuAction(var20 + 1, var9.id, var9.childIndex, var9.itemId, "");
} else if (var20 == 10) {
class208.Widget_runOnTargetLeave();
class32.selectSpell(var9.id, var9.childIndex, class2.method30(class2.getWidgetClickMask(var9)), var9.itemId);

View File

@@ -255,14 +255,15 @@ public class WorldMapSection1 implements WorldMapSection {
signature = "(IIIILjava/lang/String;B)V",
garbageValue = "31"
)
static void method605(int var0, int var1, int var2, int var3, String var4) {
Widget var5 = GrandExchangeOfferWorldComparator.getWidgetChild(var1, var2);
@Export("widgetDefaultMenuAction")
static void widgetDefaultMenuAction(int opIndex, int parent, int childIdx, int itemID, String target) {
Widget var5 = GrandExchangeOfferWorldComparator.getWidgetChild(parent, childIdx);
if (var5 != null) {
if (var5.onOp != null) {
ScriptEvent var6 = new ScriptEvent();
var6.widget = var5;
var6.opIndex = var0;
var6.targetName = var4;
var6.opIndex = opIndex;
var6.targetName = target;
var6.args = var5.onOp;
ParamDefinition.runScriptEvent(var6);
}
@@ -274,87 +275,87 @@ public class WorldMapSection1 implements WorldMapSection {
if (var11) {
int var8 = class2.getWidgetClickMask(var5);
int var9 = var0 - 1;
int var9 = opIndex - 1;
boolean var7 = (var8 >> var9 + 1 & 1) != 0;
if (var7) {
PacketBufferNode var10;
if (var0 == 1) {
if (opIndex == 1) {
var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2244, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parent);
var10.packetBuffer.writeShort(childIdx);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.addNode(var10);
}
if (var0 == 2) {
if (opIndex == 2) {
var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2249, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parent);
var10.packetBuffer.writeShort(childIdx);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.addNode(var10);
}
if (var0 == 3) {
if (opIndex == 3) {
var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2257, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parent);
var10.packetBuffer.writeShort(childIdx);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.addNode(var10);
}
if (var0 == 4) {
if (opIndex == 4) {
var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2194, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parent);
var10.packetBuffer.writeShort(childIdx);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.addNode(var10);
}
if (var0 == 5) {
if (opIndex == 5) {
var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2204, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parent);
var10.packetBuffer.writeShort(childIdx);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.addNode(var10);
}
if (var0 == 6) {
if (opIndex == 6) {
var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2200, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parent);
var10.packetBuffer.writeShort(childIdx);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.addNode(var10);
}
if (var0 == 7) {
if (opIndex == 7) {
var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2251, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parent);
var10.packetBuffer.writeShort(childIdx);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.addNode(var10);
}
if (var0 == 8) {
if (opIndex == 8) {
var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2203, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parent);
var10.packetBuffer.writeShort(childIdx);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.addNode(var10);
}
if (var0 == 9) {
if (opIndex == 9) {
var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2213, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parent);
var10.packetBuffer.writeShort(childIdx);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.addNode(var10);
}
if (var0 == 10) {
if (opIndex == 10) {
var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2285, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parent);
var10.packetBuffer.writeShort(childIdx);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.addNode(var10);
}