From 802aa5cb539ca9c9b4ba7eab632191f91d60f8fc Mon Sep 17 00:00:00 2001 From: Quique Date: Sat, 11 Dec 2021 14:58:53 +0100 Subject: [PATCH] Added run argument to disable cursor catching for debug ease --- .../minosoft/gui/rendering/system/window/BaseWindow.kt | 3 ++- .../minosoft/gui/rendering/system/window/GLFWWindow.kt | 5 +++-- .../de/bixilon/minosoft/terminal/CommandLineArguments.kt | 6 +++++- .../java/de/bixilon/minosoft/terminal/RunConfiguration.kt | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/system/window/BaseWindow.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/system/window/BaseWindow.kt index 15c3b476b..4ad388835 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/system/window/BaseWindow.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/system/window/BaseWindow.kt @@ -17,6 +17,7 @@ import de.bixilon.minosoft.config.StaticConfiguration import de.bixilon.minosoft.config.profile.delegate.watcher.SimpleProfileDelegateWatcher.Companion.profileWatchRendering import de.bixilon.minosoft.config.profile.profiles.rendering.RenderingProfile import de.bixilon.minosoft.data.assets.AssetsManager +import de.bixilon.minosoft.terminal.RunConfiguration import de.bixilon.minosoft.util.KUtil.toResourceLocation import de.matthiasmann.twl.utils.PNGDecoder import glm_.vec2.Vec2 @@ -49,7 +50,7 @@ interface BaseWindow { resizable = true profile.advanced::swapInterval.profileWatchRendering(this, true, profile) { swapInterval = it } - if (!StaticConfiguration.DEBUG_MODE) { + if (!RunConfiguration.DISABLE_CURSOR_CATCH) { cursorMode = CursorModes.DISABLED } size = DEFAULT_WINDOW_SIZE diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/system/window/GLFWWindow.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/system/window/GLFWWindow.kt index bff7d868b..cb9808009 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/system/window/GLFWWindow.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/system/window/GLFWWindow.kt @@ -29,6 +29,7 @@ import de.bixilon.minosoft.gui.rendering.system.window.BaseWindow.Companion.DEFA import de.bixilon.minosoft.gui.rendering.system.window.BaseWindow.Companion.DEFAULT_WINDOW_SIZE import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2dUtil.EMPTY import de.bixilon.minosoft.modding.event.master.AbstractEventMaster +import de.bixilon.minosoft.terminal.RunConfiguration import de.bixilon.minosoft.util.OSUtil import de.bixilon.minosoft.util.logging.Log import de.bixilon.minosoft.util.logging.LogLevels @@ -163,7 +164,6 @@ class GLFWWindow( } } - glfwSetKeyCallback(window, this::keyInput) glfwSetMouseButtonCallback(window, this::mouseKeyInput) @@ -282,11 +282,12 @@ class GLFWWindow( if (windowId != window) { return } + + val position = Vec2d(x, y) val previous = this.mousePosition val delta = position - previous this.mousePosition = position - if (!skipNextMouseEvent) { eventMaster.fireEvent(MouseMoveEvent(position = position, previous = previous, delta = delta)) } else { diff --git a/src/main/java/de/bixilon/minosoft/terminal/CommandLineArguments.kt b/src/main/java/de/bixilon/minosoft/terminal/CommandLineArguments.kt index c4898d946..e6dd9557f 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/CommandLineArguments.kt +++ b/src/main/java/de/bixilon/minosoft/terminal/CommandLineArguments.kt @@ -50,6 +50,10 @@ object CommandLineArguments { .action(Arguments.storeTrue()) .help("Disables rendering") + addArgument("--disable_cursor_catch") + .action(Arguments.storeTrue()) + .help("Disables catching the cursor") + addArgument("--headless") .action(Arguments.storeTrue()) .help("Disables the server list and rendering") @@ -88,7 +92,7 @@ object CommandLineArguments { RunConfiguration.LOG_COLOR_LEVEL = namespace.getBoolean("disable_log_color_level") RunConfiguration.LOG_COLOR_TYPE = namespace.getBoolean("disable_log_color_type") RunConfiguration.LOG_RELATIVE_TIME = namespace.getBoolean("relative_log") - + RunConfiguration.DISABLE_CURSOR_CATCH = namespace.getBoolean("disable_cursor_catch") RunConfiguration.DISABLE_EROS = namespace.getBoolean("disable_eros") RunConfiguration.DISABLE_RENDERING = namespace.getBoolean("disable_rendering") diff --git a/src/main/java/de/bixilon/minosoft/terminal/RunConfiguration.kt b/src/main/java/de/bixilon/minosoft/terminal/RunConfiguration.kt index 0b010444b..0d1e12412 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/RunConfiguration.kt +++ b/src/main/java/de/bixilon/minosoft/terminal/RunConfiguration.kt @@ -33,7 +33,7 @@ object RunConfiguration { var DISABLE_EROS = false // if true, the whole javafx eros part is disabled var DISABLE_RENDERING = false // if true, rendering is disabled - + var DISABLE_CURSOR_CATCH = false var PROFILES_HOT_RELOADING = true var AUTO_CONNECT_TO: String? = null