From bd1b06c76191f7bb7ca118ee137ff348daea1da2 Mon Sep 17 00:00:00 2001 From: Julian Krings Date: Fri, 8 Aug 2025 21:40:36 +0200 Subject: [PATCH] make studio map zoom in on the cursor target --- .../com/volmit/iris/core/gui/VisionGUI.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/volmit/iris/core/gui/VisionGUI.java b/core/src/main/java/com/volmit/iris/core/gui/VisionGUI.java index f954f0c6d..32bc1f79d 100644 --- a/core/src/main/java/com/volmit/iris/core/gui/VisionGUI.java +++ b/core/src/main/java/com/volmit/iris/core/gui/VisionGUI.java @@ -815,11 +815,28 @@ public class VisionGUI extends JPanel implements MouseWheelListener, KeyListener return; } - //Iris.info("Blocks/Pixel: " + (mscale) + ", Blocks Wide: " + (w * mscale)); + double m0 = mscale; + double m1 = m0 + ((0.25 * m0) * notches); + m1 = Math.max(m1, 0.00001); + if (m1 == m0) { + return; + } + positions.clear(); fastpositions.clear(); - mscale = mscale + ((0.25 * mscale) * notches); - mscale = Math.max(mscale, 0.00001); + + Point p = e.getPoint(); + double sx = p.getX(); + double sz = p.getY(); + + double newOxp = scale * ((m0 / m1) * (sx + (oxp / scale)) - sx); + double newOzp = scale * ((m0 / m1) * (sz + (ozp / scale)) - sz); + + mscale = m1; + oxp = newOxp; + ozp = newOzp; + ox = oxp; + oz = ozp; } @Override