Fix menu swaps not working when left clicking items

This commit is contained in:
Lucas
2019-06-27 16:25:35 +02:00
parent 971549db3a
commit f2d633ae56
10 changed files with 477 additions and 416 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -4262,7 +4262,7 @@ public final class Client extends GameShell implements Usernamed {
} else if(menuOptionsCount > 0) {
var3 = __client_ja;
var4 = __client_je;
class231.method4520(UnitPriceComparator.tempMenuAction, var3, var4);
class231.processTempMenuAction(UnitPriceComparator.tempMenuAction, var3, var4);
UnitPriceComparator.tempMenuAction = null;
}
@@ -6216,7 +6216,7 @@ public final class Client extends GameShell implements Usernamed {
if(DevicePcmPlayerProvider.dragInventoryWidget != null && !__client_jl && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) {
int var10 = __client_ja;
int var11 = __client_je;
class231.method4520(UnitPriceComparator.tempMenuAction, var10, var11);
class231.processTempMenuAction(UnitPriceComparator.tempMenuAction, var10, var11);
UnitPriceComparator.tempMenuAction = null;
}
@@ -6448,7 +6448,7 @@ public final class Client extends GameShell implements Usernamed {
} else if(menuOptionsCount > 0) {
int var13 = widgetClickX + __client_nk;
int var14 = widgetClickY + __client_np;
class231.method4520(UnitPriceComparator.tempMenuAction, var13, var14);
class231.processTempMenuAction(UnitPriceComparator.tempMenuAction, var13, var14);
UnitPriceComparator.tempMenuAction = null;
}

View File

@@ -543,14 +543,14 @@ public class class171 {
signature = "(IIIILjava/lang/String;I)V",
garbageValue = "49247882"
)
static void method3494(int var0, int var1, int var2, int var3, String var4) {
Widget var5 = class204.getWidgetChild(var1, var2);
static void method3494(int opIndex, int parentID, int childID, int itemID, String target) {
Widget var5 = class204.getWidgetChild(parentID, childID);
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.args0 = var5.onOp;
AbstractIndexCache.runScript(var6);
}
@@ -562,87 +562,87 @@ public class class171 {
if(var11) {
int var8 = class1.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 = Interpreter.method1915(ClientPacket.__gs_bi, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parentID);
var10.packetBuffer.writeShort(childID);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.__q_167(var10);
}
if(var0 == 2) {
if(opIndex == 2) {
var10 = Interpreter.method1915(ClientPacket.__gs_b, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parentID);
var10.packetBuffer.writeShort(childID);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.__q_167(var10);
}
if(var0 == 3) {
if(opIndex == 3) {
var10 = Interpreter.method1915(ClientPacket.__gs_aa, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parentID);
var10.packetBuffer.writeShort(childID);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.__q_167(var10);
}
if(var0 == 4) {
if(opIndex == 4) {
var10 = Interpreter.method1915(ClientPacket.__gs_y, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parentID);
var10.packetBuffer.writeShort(childID);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.__q_167(var10);
}
if(var0 == 5) {
if(opIndex == 5) {
var10 = Interpreter.method1915(ClientPacket.__gs_ad, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parentID);
var10.packetBuffer.writeShort(childID);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.__q_167(var10);
}
if(var0 == 6) {
if(opIndex == 6) {
var10 = Interpreter.method1915(ClientPacket.__gs_br, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parentID);
var10.packetBuffer.writeShort(childID);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.__q_167(var10);
}
if(var0 == 7) {
if(opIndex == 7) {
var10 = Interpreter.method1915(ClientPacket.__gs_cu, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parentID);
var10.packetBuffer.writeShort(childID);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.__q_167(var10);
}
if(var0 == 8) {
if(opIndex == 8) {
var10 = Interpreter.method1915(ClientPacket.__gs_a, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parentID);
var10.packetBuffer.writeShort(childID);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.__q_167(var10);
}
if(var0 == 9) {
if(opIndex == 9) {
var10 = Interpreter.method1915(ClientPacket.__gs_cj, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parentID);
var10.packetBuffer.writeShort(childID);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.__q_167(var10);
}
if(var0 == 10) {
if(opIndex == 10) {
var10 = Interpreter.method1915(ClientPacket.__gs_m, Client.packetWriter.isaacCipher);
var10.packetBuffer.writeInt(var1);
var10.packetBuffer.writeShort(var2);
var10.packetBuffer.writeShort(var3);
var10.packetBuffer.writeInt(parentID);
var10.packetBuffer.writeShort(childID);
var10.packetBuffer.writeShort(itemID);
Client.packetWriter.__q_167(var10);
}

View File

@@ -178,7 +178,8 @@ public enum class231 implements Enumerated {
signature = "(Lcs;IIB)V",
garbageValue = "1"
)
static final void method4520(MenuAction var0, int var1, int var2) {
@Export("processTempMenuAction")
static final void processTempMenuAction(MenuAction var0, int var1, int var2) {
Actor.menuAction(var0.argument1, var0.argument2, var0.opcode, var0.argument0, var0.action, var0.action, var1, var2);
}