new fullscreen method

This commit is contained in:
minjaesong
2024-06-19 12:26:34 +09:00
parent 83b539e872
commit a4629c3ea8
2 changed files with 20 additions and 13 deletions

2
.idea/misc.xml generated
View File

@@ -38,7 +38,7 @@
<property name="caretWidth" class="java.lang.Integer" />
</properties>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="SuppressKotlinCodeStyleNotification">

View File

@@ -49,6 +49,8 @@ import net.torvald.unsafe.UnsafeHelper;
import net.torvald.util.DebugTimers;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.lwjgl.PointerBuffer;
import org.lwjgl.glfw.GLFW;
import java.io.File;
import java.io.FileWriter;
@@ -439,17 +441,6 @@ public class App implements ApplicationListener {
appConfig.useVsync(getConfigBoolean("usevsync"));
appConfig.setResizable(false);
if (useFullscreen) {
// auto resize for fullscreen
var disp = Lwjgl3ApplicationConfiguration.getDisplayMode(Lwjgl3ApplicationConfiguration.getPrimaryMonitor());
var newWidth = ((int)(disp.width / magn)) & 0x7FFFFFFE;
var newHeight = ((int)(disp.height / magn)) & 0x7FFFFFFE;
scr.setDimension(newWidth, newHeight, magn);
appConfig.setFullscreenMode(disp);
}
else
appConfig.setWindowedMode(width, height);
// if filter is none AND magn is not (100% or 200%), set filter to hq2x
@@ -500,6 +491,22 @@ public class App implements ApplicationListener {
@Override
public void create() {
boolean useFullscreen = getConfigBoolean("fullscreen");
float magn = (float) getConfigDouble("screenmagnifying");
if (useFullscreen) {
// auto resize for fullscreen
var disp = Gdx.graphics.getDisplayMode();
// var disp = Lwjgl3ApplicationConfiguration.getDisplayMode(Lwjgl3ApplicationConfiguration.getPrimaryMonitor()); // won't work on macOS (reports 1920x1200 no matter what)
var newWidth = ((int)(disp.width / magn)) & 0x7FFFFFFE;
var newHeight = ((int)(disp.height / magn)) & 0x7FFFFFFE;
scr.setDimension(newWidth, newHeight, magn);
Gdx.graphics.setFullscreenMode(disp);
}
File loadOrderFile = new File(App.loadOrderDir);
if (loadOrderFile.exists()) {
// load modules