From 8e272df5fc036cc3e4d30564206e9f0a23e9aed3 Mon Sep 17 00:00:00 2001 From: yugecin Date: Tue, 2 Oct 2018 22:48:11 +0200 Subject: [PATCH] fix disabling fullscreen mode while on native resolution not applying borderless --- src/yugecin/opsudance/core/DisplayContainer.java | 9 ++++++++- src/yugecin/opsudance/options/Options.java | 8 +------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/yugecin/opsudance/core/DisplayContainer.java b/src/yugecin/opsudance/core/DisplayContainer.java index 10a6a2eb..95abc4d1 100644 --- a/src/yugecin/opsudance/core/DisplayContainer.java +++ b/src/yugecin/opsudance/core/DisplayContainer.java @@ -351,6 +351,13 @@ public class DisplayContainer implements ErrorDumpable, SkinChangedListener { width = Integer.parseInt(res[0]); height = Integer.parseInt(res[1]); } + + updateDisplayMode(width, height); + } + + public void updateDisplayMode(int width, int height) { + int screenWidth = nativeDisplayMode.getWidth(); + int screenHeight = nativeDisplayMode.getHeight(); // check for larger-than-screen dimensions if (!OPTION_ALLOW_LARGER_RESOLUTIONS.state && (screenWidth < width || screenHeight < height)) { @@ -366,7 +373,7 @@ public class DisplayContainer implements ErrorDumpable, SkinChangedListener { try { setDisplayMode(width, height, OPTION_FULLSCREEN.state); } catch (Exception e) { - bubNotifs.send(BUB_RED, "Failed to change resolution"); + bubNotifs.send(BUB_RED, "Failed to change display mode"); Log.error("Failed to set display mode.", e); } } diff --git a/src/yugecin/opsudance/options/Options.java b/src/yugecin/opsudance/options/Options.java index a530b001..8c1a4587 100644 --- a/src/yugecin/opsudance/options/Options.java +++ b/src/yugecin/opsudance/options/Options.java @@ -21,7 +21,6 @@ import awlex.ospu.polymover.factory.PolyMoverFactory; import itdelatrisu.opsu.GameImage; import itdelatrisu.opsu.Utils; import itdelatrisu.opsu.states.Game; -import itdelatrisu.opsu.ui.Colors; import itdelatrisu.opsu.ui.Fonts; import org.lwjgl.input.Keyboard; import org.newdawn.slick.SlickException; @@ -191,12 +190,7 @@ public class Options { public void toggle() { super.toggle(); - try { - displayContainer.setDisplayMode(width, height, state); - } catch (Exception e) { - bubNotifs.send(Colors.BUB_RED, "Failed to change fullscreen state"); - Log.error("Failed to change fullscreen state.", e); - } + displayContainer.updateDisplayMode(width, height); } }; public static final ListOption OPTION_SKIN = new ListOption("Skin", "Skin", "Change how the game looks.") {