From 96e9e9bb3bb986c0d030752ba3c9c3a0c2b76fd7 Mon Sep 17 00:00:00 2001 From: Christian Knaapen Date: Wed, 26 Aug 2020 21:11:51 +0200 Subject: [PATCH] Retina display fix --- build.gradle | 2 +- .../requios/effortlessbuilding/EffortlessBuilding.java | 2 +- .../effortlessbuilding/gui/buildmode/RadialMenu.java | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index fb515e2..34f91c2 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ apply plugin: 'net.minecraftforge.gradle' apply plugin: 'eclipse' apply plugin: 'maven-publish' -version = '1.15.2-2.18' +version = '1.15.2-2.20' group = 'nl.requios.effortlessbuilding' // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = 'effortlessbuilding' diff --git a/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java b/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java index e9a4a9b..1ac3486 100644 --- a/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java +++ b/src/main/java/nl/requios/effortlessbuilding/EffortlessBuilding.java @@ -46,7 +46,7 @@ public class EffortlessBuilding { public static final String MODID = "effortlessbuilding"; public static final String NAME = "Effortless Building"; - public static final String VERSION = "1.15.2-2.18"; + public static final String VERSION = "1.15.2-2.20"; public static EffortlessBuilding instance; diff --git a/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java b/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java index 1245777..f4d81e2 100644 --- a/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java +++ b/src/main/java/nl/requios/effortlessbuilding/gui/buildmode/RadialMenu.java @@ -140,8 +140,14 @@ public class RadialMenu extends Screen { final double middleX = width / 2.0; final double middleY = height / 2.0; - final double mouseXCenter = mouseX - middleX; - final double mouseYCenter = -mouseY + middleY; + //Fix for high def (retina) displays: use custom mouse coordinates + //Borrowed from GameRenderer::updateCameraAndRender + Minecraft mc = Minecraft.getInstance(); + int mouseXX = (int)(mc.mouseHelper.getMouseX() * (double)mc.getMainWindow().getScaledWidth() / (double)mc.getMainWindow().getWidth()); + int mouseYY = (int)(mc.mouseHelper.getMouseY() * (double)mc.getMainWindow().getScaledHeight() / (double)mc.getMainWindow().getHeight()); + + final double mouseXCenter = mouseXX - middleX; + final double mouseYCenter = mouseYY - middleY; double mouseRadians = Math.atan2(mouseYCenter, mouseXCenter); final double ringInnerEdge = 30;