From f30e7fd45b89fb864d9e1907b223a6a0863a7a47 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Fri, 19 Apr 2019 13:53:13 +0900 Subject: [PATCH] bad type on operand stack --- src/net/torvald/terrarum/AppLoader.java | 80 ++++++++++--------- src/net/torvald/terrarum/PostProcessor.kt | 2 +- .../torvald/terrarum/tests/NoiseGenerator.kt | 30 +++---- src/net/torvald/terrarum/tests/UITestPad1.kt | 26 +++--- src/net/torvald/terrarum/ui/UICanvas.kt | 2 +- 5 files changed, 65 insertions(+), 75 deletions(-) diff --git a/src/net/torvald/terrarum/AppLoader.java b/src/net/torvald/terrarum/AppLoader.java index e47587f47..c056914d2 100644 --- a/src/net/torvald/terrarum/AppLoader.java +++ b/src/net/torvald/terrarum/AppLoader.java @@ -1,12 +1,11 @@ package net.torvald.terrarum; import com.badlogic.gdx.ApplicationListener; -import com.badlogic.gdx.Files; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Screen; import com.badlogic.gdx.audio.AudioDevice; -import com.badlogic.gdx.backends.lwjgl.LwjglApplication; -import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration; +import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; +import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; import com.badlogic.gdx.controllers.Controllers; import com.badlogic.gdx.graphics.*; import com.badlogic.gdx.graphics.g2d.SpriteBatch; @@ -18,7 +17,6 @@ import com.github.strikerx3.jxinput.XInputDevice; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonPrimitive; -import net.torvald.util.ArrayListMap; import net.torvald.getcpuname.GetCpuName; import net.torvald.terrarum.blockstats.MinimapComposer; import net.torvald.terrarum.controller.GdxControllerAdapter; @@ -34,6 +32,7 @@ import net.torvald.terrarum.worlddrawer.BlocksDrawer; import net.torvald.terrarum.worlddrawer.LightmapRenderer; import net.torvald.terrarumsansbitmap.gdx.GameFontBase; import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack; +import net.torvald.util.ArrayListMap; import java.io.File; import java.io.IOException; @@ -86,9 +85,11 @@ public class AppLoader implements ApplicationListener { * @param appConfig LWJGL(2) Application Configuration * @param injectScreen GDX Screen you want to run */ - public AppLoader(LwjglApplicationConfiguration appConfig, Screen injectScreen) { + public AppLoader(Lwjgl3ApplicationConfiguration appConfig, Screen injectScreen, int width, int height) { AppLoader.injectScreen = injectScreen; AppLoader.appConfig = appConfig; + setWindowWidth = width; + setWindowHeight = height; } /** @@ -96,7 +97,7 @@ public class AppLoader implements ApplicationListener { * * @param appConfig LWJGL(2) Application Configuration */ - public AppLoader(LwjglApplicationConfiguration appConfig) { + public AppLoader(Lwjgl3ApplicationConfiguration appConfig) { AppLoader.appConfig = appConfig; } @@ -175,7 +176,7 @@ public class AppLoader implements ApplicationListener { private static boolean resizeRequested = false; private static Point2i resizeReqSize; - public static LwjglApplicationConfiguration appConfig; + public static Lwjgl3ApplicationConfiguration appConfig; public static GameFontBase fontGame; public static TinyAlphNum fontSmallNumbers; @@ -197,6 +198,9 @@ public class AppLoader implements ApplicationListener { public static final int minimumW = 1080; public static final int minimumH = 720; + public static int setWindowWidth; + public static int setWindowHeight; + public static void main(String[] args) { // load configs getDefaultDirectory(); @@ -212,27 +216,30 @@ public class AppLoader implements ApplicationListener { ShaderProgram.pedantic = false; - LwjglApplicationConfiguration appConfig = new LwjglApplicationConfiguration(); - appConfig.useGL30 = true; // utilising some GL trickeries, need this to be TRUE - appConfig.vSyncEnabled = getConfigBoolean("usevsync"); - appConfig.resizable = false;//true; - //appConfig.width = 1110; // photographic ratio (1.5:1) - //appConfig.height = 740; // photographic ratio (1.5:1) - appConfig.width = getConfigInt("screenwidth"); - appConfig.height = getConfigInt("screenheight"); - appConfig.backgroundFPS = getConfigInt("displayfps"); - appConfig.foregroundFPS = getConfigInt("displayfps"); - appConfig.title = GAME_NAME; - appConfig.forceExit = false; + Lwjgl3ApplicationConfiguration appConfig = new Lwjgl3ApplicationConfiguration(); + appConfig.useOpenGL3(true, 3, 0);// utilising some GL trickeries, need this to be TRUE + appConfig.setResizable(false); + appConfig.useVsync(getConfigBoolean("usevsync")); + //setWindowWidth = 1110; // photographic ratio (1.5:1) + //setWindowHeight = 740; // photographic ratio (1.5:1) + setWindowWidth = getConfigInt("screenwidth"); + setWindowHeight = getConfigInt("screenheight"); + appConfig.setWindowedMode(setWindowWidth, setWindowHeight); + appConfig.setIdleFPS(getConfigInt("displayfps")); + appConfig.setTitle(GAME_NAME); + //appConfig.forceExit = false; + if (IS_DEVELOPMENT_BUILD) { + appConfig.enableGLDebugOutput(true, System.err); + } // load app icon - int[] appIconSizes = new int[]{256,128,64,32,16}; - for (int size : appIconSizes) { - String name = "assets/appicon" + size + ".png"; - if (new File("./" + name).exists()) { - appConfig.addIcon(name, Files.FileType.Internal); - } - } + appConfig.setWindowIcon( + "assets/appicon256.png", + "assets/appicon128.png", + "assets/appicon64.png", + "assets/appicon32.png", + "assets/appicon16.png" + ); if (args.length == 1 && args[0].equals("isdev=true")) { IS_DEVELOPMENT_BUILD = true; @@ -240,7 +247,7 @@ public class AppLoader implements ApplicationListener { //KeyToggler.INSTANCE.forceSet(Input.Keys.F11, true); } - new LwjglApplication(new AppLoader(appConfig), appConfig); + new Lwjgl3Application(new AppLoader(appConfig), appConfig); } @@ -292,9 +299,10 @@ public class AppLoader implements ApplicationListener { // set basis of draw logoBatch = new SpriteBatch(); - camera = new OrthographicCamera(((float) appConfig.width), ((float) appConfig.height)); - initViewPort(appConfig.width, appConfig.height); + camera = new OrthographicCamera(((float) setWindowWidth), ((float) setWindowHeight)); + + initViewPort(setWindowWidth, setWindowHeight); // logo here :p logo = new TextureRegion(new Texture(Gdx.files.internal("assets/graphics/logo_placeholder.tga"))); @@ -312,7 +320,7 @@ public class AppLoader implements ApplicationListener { VertexAttribute.ColorUnpacked(), VertexAttribute.TexCoords(0) ); - updateFullscreenQuad(appConfig.width, appConfig.height); + updateFullscreenQuad(setWindowWidth, setWindowHeight); // set up renderer info variables @@ -415,8 +423,8 @@ public class AppLoader implements ApplicationListener { setCameraPosition(0f, 0f); - logoBatch.draw(logo, (appConfig.width - logo.getRegionWidth()) / 2f, - (appConfig.height - logo.getRegionHeight()) / 2f + logoBatch.draw(logo, (setWindowWidth - logo.getRegionWidth()) / 2f, + (setWindowHeight - logo.getRegionHeight()) / 2f ); logoBatch.end(); @@ -454,7 +462,7 @@ public class AppLoader implements ApplicationListener { screenshotRequested = false; try { - Pixmap p = ScreenUtils.getFrameBufferPixmap(0, 0, appConfig.width, appConfig.height); + Pixmap p = ScreenUtils.getFrameBufferPixmap(0, 0, setWindowWidth, setWindowHeight); PixmapIO2.writeTGA(Gdx.files.absolute(defaultDir + "/Screenshot.tga"), p, true); p.dispose(); } @@ -497,8 +505,8 @@ public class AppLoader implements ApplicationListener { ); } - appConfig.width = screenW; - appConfig.height = screenH; + setWindowWidth = screenW; + setWindowHeight = screenH; updateFullscreenQuad(screenW, screenH); @@ -622,7 +630,7 @@ public class AppLoader implements ApplicationListener { private void setCameraPosition(float newX, float newY) { - camera.position.set((-newX + appConfig.width / 2), (-newY + appConfig.height / 2), 0f); + camera.position.set((-newX + setWindowWidth / 2), (-newY + setWindowHeight / 2), 0f); camera.update(); logoBatch.setProjectionMatrix(camera.combined); } diff --git a/src/net/torvald/terrarum/PostProcessor.kt b/src/net/torvald/terrarum/PostProcessor.kt index f1094ecb4..262b051eb 100644 --- a/src/net/torvald/terrarum/PostProcessor.kt +++ b/src/net/torvald/terrarum/PostProcessor.kt @@ -61,7 +61,7 @@ object PostProcessor { batch.projectionMatrix = camera.combined shapeRenderer = ShapeRenderer() - Gdx.gl20.glViewport(0, 0, AppLoader.appConfig.width, AppLoader.appConfig.height) + Gdx.gl20.glViewport(0, 0, AppLoader.setWindowWidth, AppLoader.setWindowHeight) } diff --git a/src/net/torvald/terrarum/tests/NoiseGenerator.kt b/src/net/torvald/terrarum/tests/NoiseGenerator.kt index e39117623..42d73c195 100644 --- a/src/net/torvald/terrarum/tests/NoiseGenerator.kt +++ b/src/net/torvald/terrarum/tests/NoiseGenerator.kt @@ -4,8 +4,8 @@ import com.badlogic.gdx.Gdx import com.badlogic.gdx.Input import com.badlogic.gdx.InputAdapter import com.badlogic.gdx.ScreenAdapter -import com.badlogic.gdx.backends.lwjgl.LwjglApplication -import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration +import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application +import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.OrthographicCamera import com.badlogic.gdx.graphics.Pixmap @@ -15,22 +15,16 @@ import com.badlogic.gdx.graphics.glutils.ShaderProgram import com.sudoplay.joise.Joise import com.sudoplay.joise.module.ModuleBasisFunction import com.sudoplay.joise.module.ModuleFractal -import com.sudoplay.joise.module.ModuleScaleDomain import com.sudoplay.joise.module.ModuleScaleOffset import net.torvald.random.HQRNG import net.torvald.terrarum.AppLoader -import net.torvald.terrarum.AppLoader.printdbg import net.torvald.terrarum.Terrarum import net.torvald.terrarum.concurrent.BlockingThreadPool -import net.torvald.terrarum.concurrent.RunnableFun import net.torvald.terrarum.concurrent.ParallelUtils.sliceEvenly -import net.torvald.terrarum.concurrent.ThreadParallel import net.torvald.terrarum.inUse import net.torvald.terrarum.modulebasegame.Ingame import net.torvald.terrarum.roundInt import kotlin.math.absoluteValue -import kotlin.system.measureNanoTime -import kotlin.system.measureTimeMillis /** * Created by minjaesong on 2018-12-14. @@ -50,11 +44,11 @@ class NoiseGenerator : ScreenAdapter() { Gdx.input.inputProcessor = NoiseGeneratorController(this) batch = SpriteBatch() - camera = OrthographicCamera(AppLoader.appConfig.width.toFloat(), AppLoader.appConfig.height.toFloat()) + camera = OrthographicCamera(AppLoader.setWindowWidth.toFloat(), AppLoader.setWindowHeight.toFloat()) - camera.setToOrtho(true, AppLoader.appConfig.width.toFloat(), AppLoader.appConfig.height.toFloat()) + camera.setToOrtho(true, AppLoader.setWindowWidth.toFloat(), AppLoader.setWindowHeight.toFloat()) camera.update() - Gdx.gl20.glViewport(0, 0, AppLoader.appConfig.width, AppLoader.appConfig.height) + Gdx.gl20.glViewport(0, 0, AppLoader.setWindowWidth, AppLoader.setWindowHeight) pixmap = Pixmap(IMAGE_SIZE, IMAGE_SIZE, Pixmap.Format.RGBA8888) texture = Texture(1, 1, Pixmap.Format.RGBA8888) @@ -255,14 +249,10 @@ class NoiseGeneratorController(val host: NoiseGenerator) : InputAdapter() { fun main(args: Array) { ShaderProgram.pedantic = false - val appConfig = LwjglApplicationConfiguration() - appConfig.vSyncEnabled = false - appConfig.resizable = false//true; - appConfig.width = 1024 - appConfig.height = 1024 - appConfig.backgroundFPS = 9999 - appConfig.foregroundFPS = 9999 - appConfig.forceExit = false + val appConfig = Lwjgl3ApplicationConfiguration() + appConfig.useVsync(false) + appConfig.setResizable(false) + appConfig.setWindowedMode(1024, 1024) - LwjglApplication(AppLoader(appConfig, NoiseGenerator()), appConfig) + Lwjgl3Application(AppLoader(appConfig, NoiseGenerator(), 1024, 1024), appConfig) } \ No newline at end of file diff --git a/src/net/torvald/terrarum/tests/UITestPad1.kt b/src/net/torvald/terrarum/tests/UITestPad1.kt index b708c476c..d7ab5d02f 100644 --- a/src/net/torvald/terrarum/tests/UITestPad1.kt +++ b/src/net/torvald/terrarum/tests/UITestPad1.kt @@ -3,8 +3,8 @@ package net.torvald.terrarum.tests import com.badlogic.gdx.Gdx import com.badlogic.gdx.InputAdapter import com.badlogic.gdx.ScreenAdapter -import com.badlogic.gdx.backends.lwjgl.LwjglApplication -import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration +import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application +import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.OrthographicCamera import com.badlogic.gdx.graphics.g2d.SpriteBatch @@ -67,13 +67,13 @@ class UITestPad1 : ScreenAdapter() { Yaml(treeStr) ) batch = SpriteBatch() - camera = OrthographicCamera(AppLoader.appConfig.width.toFloat(), AppLoader.appConfig.height.toFloat()) + camera = OrthographicCamera(AppLoader.setWindowWidth.toFloat(), AppLoader.setWindowHeight.toFloat()) - camera.setToOrtho(true, AppLoader.appConfig.width.toFloat(), AppLoader.appConfig.height.toFloat()) + camera.setToOrtho(true, AppLoader.setWindowWidth.toFloat(), AppLoader.setWindowHeight.toFloat()) camera.update() - Gdx.gl20.glViewport(0, 0, AppLoader.appConfig.width, AppLoader.appConfig.height) + Gdx.gl20.glViewport(0, 0, AppLoader.setWindowWidth, AppLoader.setWindowHeight) - resize(AppLoader.appConfig.width, AppLoader.appConfig.height) + resize(AppLoader.setWindowWidth, AppLoader.setWindowHeight) nsMenu.setPosition(0, 0) nsMenu.setAsAlwaysVisible() @@ -148,16 +148,8 @@ class UITestPad1Controller(val host: UITestPad1) : InputAdapter() { fun main(args: Array) { ShaderProgram.pedantic = false - val appConfig = LwjglApplicationConfiguration() - appConfig.vSyncEnabled = false - appConfig.resizable = false//true; - //appConfig.width = 1072; // IMAX ratio - //appConfig.height = 742; // IMAX ratio - appConfig.width = 1110 // photographic ratio (1.5:1) - appConfig.height = 740 // photographic ratio (1.5:1) - appConfig.backgroundFPS = 9999 - appConfig.foregroundFPS = 9999 - appConfig.forceExit = false + val appConfig = Lwjgl3ApplicationConfiguration() + appConfig.setWindowedMode(1110, 740) - LwjglApplication(AppLoader(appConfig, UITestPad1()), appConfig) + Lwjgl3Application(AppLoader(appConfig, UITestPad1(), 1110, 740), appConfig) } \ No newline at end of file diff --git a/src/net/torvald/terrarum/ui/UICanvas.kt b/src/net/torvald/terrarum/ui/UICanvas.kt index 7a1c8fb12..7580d3457 100644 --- a/src/net/torvald/terrarum/ui/UICanvas.kt +++ b/src/net/torvald/terrarum/ui/UICanvas.kt @@ -142,7 +142,7 @@ abstract class UICanvas( uiItems.add(uiItem) } - fun mouseInScreen(x: Int, y: Int) = x in 0 until AppLoader.appConfig.width && y in 0 until AppLoader.appConfig.height + fun mouseInScreen(x: Int, y: Int) = x in 0 until AppLoader.setWindowWidth && y in 0 until AppLoader.setWindowHeight open fun mouseMoved(screenX: Int, screenY: Int): Boolean { if (this.isVisible) {