diff --git a/client/src/main/java/Mouse.java b/client/src/main/java/Mouse.java index 9ee5497..a646b10 100644 --- a/client/src/main/java/Mouse.java +++ b/client/src/main/java/Mouse.java @@ -8,13 +8,18 @@ import org.openrs2.deob.annotation.OriginalClass; import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.Pc; +import javax.swing.*; + @OriginalClass("client!ug") public final class Mouse implements MouseListener, MouseMotionListener, FocusListener { + public int mouseWheelX; + public int mouseWheelY; + @OriginalMember(owner = "client!ug", name = "mouseMoved", descriptor = "(Ljava/awt/event/MouseEvent;)V") @Override public final synchronized void mouseMoved(@OriginalArg(0) MouseEvent arg0) { - if (Static93.aClass150_1 != null) { + if (Static93.instance != null) { Static93.anInt2467 = 0; Static147.anInt3521 = arg0.getX(); Static165.anInt4039 = arg0.getY(); @@ -24,25 +29,36 @@ public final class Mouse implements MouseListener, MouseMotionListener, FocusLis @OriginalMember(owner = "client!ug", name = "focusLost", descriptor = "(Ljava/awt/event/FocusEvent;)V") @Override public final synchronized void focusLost(@OriginalArg(0) FocusEvent arg0) { - if (Static93.aClass150_1 != null) { + if (Static93.instance != null) { Static57.anInt1759 = 0; } } @OriginalMember(owner = "client!ug", name = "mouseDragged", descriptor = "(Ljava/awt/event/MouseEvent;)V") @Override - public final synchronized void mouseDragged(@OriginalArg(0) MouseEvent arg0) { - if (Static93.aClass150_1 != null) { + public final synchronized void mouseDragged(@OriginalArg(0) MouseEvent event) { + int x = event.getX(); + int y = event.getY(); + if (SwingUtilities.isMiddleMouseButton(event)) { + int accelX = this.mouseWheelX - x; + int accelY = this.mouseWheelY - y; + this.mouseWheelX = x; + this.mouseWheelY = y; + Static57.yawTarget += accelX * 2; + Static72.pitchTarget -= (accelY << 1); + return; + } + if (Static93.instance != null) { Static93.anInt2467 = 0; - Static147.anInt3521 = arg0.getX(); - Static165.anInt4039 = arg0.getY(); + Static147.anInt3521 = x; + Static165.anInt4039 = x; } } @OriginalMember(owner = "client!ug", name = "mouseReleased", descriptor = "(Ljava/awt/event/MouseEvent;)V") @Override public final synchronized void mouseReleased(@OriginalArg(0) MouseEvent arg0) { - if (Static93.aClass150_1 != null) { + if (Static93.instance != null) { Static93.anInt2467 = 0; Static57.anInt1759 = 0; @Pc(14) int local14 = arg0.getModifiers(); @@ -73,20 +89,26 @@ public final class Mouse implements MouseListener, MouseMotionListener, FocusLis @OriginalMember(owner = "client!ug", name = "mousePressed", descriptor = "(Ljava/awt/event/MouseEvent;)V") @Override - public final synchronized void mousePressed(@OriginalArg(0) MouseEvent arg0) { - if (Static93.aClass150_1 != null) { + public final synchronized void mousePressed(@OriginalArg(0) MouseEvent event) { + if (SwingUtilities.isMiddleMouseButton(event)) { + this.mouseWheelX = event.getX(); + this.mouseWheelY = event.getY(); + return; + } + + if (Static93.instance != null) { Static93.anInt2467 = 0; - Static34.anInt1034 = arg0.getX(); - Static222.anInt4973 = arg0.getY(); + Static34.anInt1034 = event.getX(); + Static222.anInt4973 = event.getY(); Static209.aLong161 = MonotonicClock.currentTimeMillis(); - if ((arg0.getModifiersEx() & MouseEvent.BUTTON3_DOWN_MASK) == 0) { + if ((event.getModifiersEx() & MouseEvent.BUTTON3_DOWN_MASK) == 0) { Static41.anInt1313 = 1; Static57.anInt1759 = 1; } else { Static41.anInt1313 = 2; Static57.anInt1759 = 2; } - @Pc(29) int local29 = arg0.getModifiers(); + @Pc(29) int local29 = event.getModifiers(); if ((local29 & 0x10) == 0) { } if ((local29 & 0x4) != 0) { @@ -94,15 +116,15 @@ public final class Mouse implements MouseListener, MouseMotionListener, FocusLis if ((local29 & 0x8) != 0) { } } - if (arg0.isPopupTrigger()) { - arg0.consume(); + if (event.isPopupTrigger()) { + event.consume(); } } @OriginalMember(owner = "client!ug", name = "mouseExited", descriptor = "(Ljava/awt/event/MouseEvent;)V") @Override public final synchronized void mouseExited(@OriginalArg(0) MouseEvent arg0) { - if (Static93.aClass150_1 != null) { + if (Static93.instance != null) { Static93.anInt2467 = 0; Static147.anInt3521 = -1; Static165.anInt4039 = -1; @@ -112,7 +134,7 @@ public final class Mouse implements MouseListener, MouseMotionListener, FocusLis @OriginalMember(owner = "client!ug", name = "mouseEntered", descriptor = "(Ljava/awt/event/MouseEvent;)V") @Override public final synchronized void mouseEntered(@OriginalArg(0) MouseEvent arg0) { - if (Static93.aClass150_1 != null) { + if (Static93.instance != null) { Static93.anInt2467 = 0; Static147.anInt3521 = arg0.getX(); Static165.anInt4039 = arg0.getY(); diff --git a/client/src/main/java/Static111.java b/client/src/main/java/Static111.java index 45ce448..7a510b6 100644 --- a/client/src/main/java/Static111.java +++ b/client/src/main/java/Static111.java @@ -64,8 +64,8 @@ public final class Static111 { @OriginalMember(owner = "client!ii", name = "b", descriptor = "(I)V") public static void handleMouse() { - @Pc(2) Mouse local2 = Static93.aClass150_1; - synchronized (Static93.aClass150_1) { + @Pc(2) Mouse local2 = Static93.instance; + synchronized (Static93.instance) { Static22.anInt723 = Static57.anInt1759; Static215.anInt4873 = Static147.anInt3521; Static223.anInt5032 = Static165.anInt4039; diff --git a/client/src/main/java/Static223.java b/client/src/main/java/Static223.java index 55e12ce..cc329b2 100644 --- a/client/src/main/java/Static223.java +++ b/client/src/main/java/Static223.java @@ -161,9 +161,9 @@ public final class Static223 { @OriginalMember(owner = "client!sc", name = "a", descriptor = "(ILjava/awt/Component;)V") public static void method3866(@OriginalArg(1) Component arg0) { - arg0.removeMouseListener(Static93.aClass150_1); - arg0.removeMouseMotionListener(Static93.aClass150_1); - arg0.removeFocusListener(Static93.aClass150_1); + arg0.removeMouseListener(Static93.instance); + arg0.removeMouseMotionListener(Static93.instance); + arg0.removeFocusListener(Static93.instance); Static57.anInt1759 = 0; } } diff --git a/client/src/main/java/Static251.java b/client/src/main/java/Static251.java index 382aabb..a1ec8c3 100644 --- a/client/src/main/java/Static251.java +++ b/client/src/main/java/Static251.java @@ -61,10 +61,10 @@ public final class Static251 { @OriginalMember(owner = "client!ug", name = "a", descriptor = "(I)V") public static void method4277() { - if (Static93.aClass150_1 != null) { - @Pc(5) Mouse local5 = Static93.aClass150_1; - synchronized (Static93.aClass150_1) { - Static93.aClass150_1 = null; + if (Static93.instance != null) { + @Pc(5) Mouse local5 = Static93.instance; + synchronized (Static93.instance) { + Static93.instance = null; } } } diff --git a/client/src/main/java/Static48.java b/client/src/main/java/Static48.java index 753fdcd..60c082a 100644 --- a/client/src/main/java/Static48.java +++ b/client/src/main/java/Static48.java @@ -59,8 +59,8 @@ public final class Static48 { @OriginalMember(owner = "client!dl", name = "a", descriptor = "(II)V") public static void setIdleLoops(@OriginalArg(1) int arg0) { - @Pc(10) Mouse local10 = Static93.aClass150_1; - synchronized (Static93.aClass150_1) { + @Pc(10) Mouse local10 = Static93.instance; + synchronized (Static93.instance) { Static93.anInt2467 = arg0; } } diff --git a/client/src/main/java/Static88.java b/client/src/main/java/Static88.java index bec100f..a7103e3 100644 --- a/client/src/main/java/Static88.java +++ b/client/src/main/java/Static88.java @@ -4147,8 +4147,8 @@ public final class Static88 { @OriginalMember(owner = "client!h", name = "a", descriptor = "(Ljava/awt/Component;Z)V") public static void start(@OriginalArg(0) java.awt.Component arg0) { - arg0.addMouseListener(Static93.aClass150_1); - arg0.addMouseMotionListener(Static93.aClass150_1); - arg0.addFocusListener(Static93.aClass150_1); + arg0.addMouseListener(Static93.instance); + arg0.addMouseMotionListener(Static93.instance); + arg0.addFocusListener(Static93.instance); } } diff --git a/client/src/main/java/Static93.java b/client/src/main/java/Static93.java index 88dbbd4..99095a0 100644 --- a/client/src/main/java/Static93.java +++ b/client/src/main/java/Static93.java @@ -17,7 +17,7 @@ public final class Static93 { public static final HashTable aClass133_7 = new HashTable(16); @OriginalMember(owner = "client!he", name = "bb", descriptor = "Lclient!ug;") - public static Mouse aClass150_1 = new Mouse(); + public static Mouse instance = new Mouse(); @OriginalMember(owner = "client!he", name = "db", descriptor = "Lclient!na;") public static final JagString aClass100_517 = Static28.parse("");