From 45587930301869697d55bee280549f564a0fc586 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Sun, 10 Apr 2022 17:53:38 +0200 Subject: [PATCH] Remove unless window size tracking The only thing we care about is the framebuffer size, cause that will differ between game and progress gui rendering. The window size will be the same (real) size for both. --- .../render/gui/progress/VirtualWindow.java | 32 ------------------- .../render/rendering/VideoRenderer.java | 4 +-- 2 files changed, 2 insertions(+), 34 deletions(-) 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;