diff --git a/src/main/java/com/replaymod/render/gui/progress/VirtualWindow.java b/src/main/java/com/replaymod/render/gui/progress/VirtualWindow.java index c9d5769e..8dd8617b 100644 --- a/src/main/java/com/replaymod/render/gui/progress/VirtualWindow.java +++ b/src/main/java/com/replaymod/render/gui/progress/VirtualWindow.java @@ -16,7 +16,6 @@ public class VirtualWindow implements Closeable { private final MainWindowAccessor acc; private final Framebuffer guiFramebuffer; - private int displayWidth, displayHeight; private int framebufferWidth, framebufferHeight; private int gameWidth, gameHeight; @@ -27,7 +26,6 @@ public class VirtualWindow implements Closeable { this.window = mc.getWindow(); this.acc = (MainWindowAccessor) (Object) this.window; - updateDisplaySize(); updateFramebufferSize(); //#if MC>=11700 @@ -85,12 +83,6 @@ public class VirtualWindow implements Closeable { } public void updateSize() { - // Check if display size has changes and force recalculate GUI framebuffer size. - if (displaySizeChanged()) { - updateDisplaySize(); - acc.invokeUpdateFramebufferSize(); - } - // Resize the GUI framebuffer if the display size changed if (framebufferSizeChanged()) { updateFramebufferSize(); @@ -106,17 +98,6 @@ public class VirtualWindow implements Closeable { } } - private boolean displaySizeChanged() { - int realWidth = mc.getWindow().getWidth(); - int realHeight = mc.getWindow().getHeight(); - if (realWidth == 0 || realHeight == 0) { - // These can be zero on Windows if minimized. - // Creating zero-sized framebuffers however will throw an error, so we never want to switch to zero values. - return false; - } - return displayWidth != realWidth || displayHeight != realHeight; - } - private boolean framebufferSizeChanged() { int realWidth = mc.getWindow().getFramebufferWidth(); int realHeight = mc.getWindow().getFramebufferHeight(); @@ -128,24 +109,11 @@ public class VirtualWindow implements Closeable { return framebufferWidth != realWidth || framebufferHeight != realHeight; } - private void updateDisplaySize() { - displayWidth = mc.getWindow().getWidth(); - displayHeight = mc.getWindow().getHeight(); - } - private void updateFramebufferSize() { framebufferWidth = mc.getWindow().getFramebufferWidth(); framebufferHeight = mc.getWindow().getFramebufferHeight(); } - public int getDisplayWidth() { - return displayWidth; - } - - public int getDisplayHeight() { - return displayHeight; - } - public int getFramebufferWidth() { return framebufferWidth; } diff --git a/src/main/java/com/replaymod/render/rendering/VideoRenderer.java b/src/main/java/com/replaymod/render/rendering/VideoRenderer.java index c7a5720c..d51cc04b 100644 --- a/src/main/java/com/replaymod/render/rendering/VideoRenderer.java +++ b/src/main/java/com/replaymod/render/rendering/VideoRenderer.java @@ -527,8 +527,8 @@ public class VideoRenderer implements RenderInfo { //#endif //#if MC>=11400 - int mouseX = (int) mc.mouse.getX() * window.getScaledWidth() / guiWindow.getDisplayWidth(); - int mouseY = (int) mc.mouse.getY() * window.getScaledHeight() / guiWindow.getDisplayHeight(); + int mouseX = (int) mc.mouse.getX() * window.getScaledWidth() / Math.max(window.getWidth(), 1); + int mouseY = (int) mc.mouse.getY() * window.getScaledHeight() / Math.max(window.getHeight(), 1); if (mc.getOverlay() != null) { Screen orgScreen = mc.currentScreen;