diff --git a/src/net/torvald/terrarum/NoModuleDefaultTitlescreen.kt b/src/net/torvald/terrarum/NoModuleDefaultTitlescreen.kt index fcc839b40..bde56ce1f 100644 --- a/src/net/torvald/terrarum/NoModuleDefaultTitlescreen.kt +++ b/src/net/torvald/terrarum/NoModuleDefaultTitlescreen.kt @@ -45,7 +45,7 @@ Veuillez reconfigurer votre ordre de chargement sur : private val maxtw = wot.maxOf { App.fontGameFBO.getWidth(it) } - private val fbo = FrameBuffer(Pixmap.Format.RGBA8888, App.scr.width, App.scr.height, true) + private val fbo = FrameBuffer(Pixmap.Format.RGBA8888, App.scr.width, App.scr.height, false) private var init = false diff --git a/src/net/torvald/terrarum/SanicLoadScreen.kt b/src/net/torvald/terrarum/SanicLoadScreen.kt index 48e14a377..28f9929e4 100644 --- a/src/net/torvald/terrarum/SanicLoadScreen.kt +++ b/src/net/torvald/terrarum/SanicLoadScreen.kt @@ -51,7 +51,7 @@ object SanicLoadScreen : LoadScreenBase() { App.fontGame.getWidth(Lang["ERROR_GENERIC_TEXT"]) ), App.fontGame.lineHeight.toInt(), - true + false ) arrowObjTex = Texture(Gdx.files.internal("assets/graphics/test_loading_arrow_atlas.tga")) diff --git a/src/net/torvald/terrarum/gamecontroller/IME.kt b/src/net/torvald/terrarum/gamecontroller/IME.kt index d2ff1637b..7c7331c4f 100644 --- a/src/net/torvald/terrarum/gamecontroller/IME.kt +++ b/src/net/torvald/terrarum/gamecontroller/IME.kt @@ -125,7 +125,7 @@ object IME { if (langCode.isNotEmpty()) { printdbg(this, "Icon order #${(k+1) / 20} - icons[\"$langCode\"] = iconSheet.get(1, ${k/20})") iconSheet.get(1, k / 20).let { - it.flip(false, true) + it.flip(false, false) icons["$langCode"] = it } diff --git a/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt b/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt index 997d60482..442f13d56 100644 --- a/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt +++ b/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt @@ -48,10 +48,9 @@ object IngameRenderer : Disposable { private lateinit var blurWriteQuad: Mesh private lateinit var blurWriteQuad2: Mesh - private lateinit var blurWriteQuad4: Mesh +// private lateinit var blurWriteQuad4: Mesh - private lateinit var lightmapFboA: FloatFrameBuffer - private lateinit var lightmapFboB: FloatFrameBuffer + private lateinit var lightmapFbo: FloatFrameBuffer private lateinit var fboRGB: FloatFrameBuffer private lateinit var fboRGB_lightMixed: FloatFrameBuffer private lateinit var fboA: FloatFrameBuffer @@ -64,7 +63,7 @@ object IngameRenderer : Disposable { private lateinit var blurTex: TextureRegion private lateinit var fboBlurHalf: FloatFrameBuffer - private lateinit var fboBlurQuarter: FloatFrameBuffer +// private lateinit var fboBlurQuarter: FloatFrameBuffer // you must have lightMixed FBO; otherwise you'll be reading from unbaked FBO and it freaks out GPU @@ -398,17 +397,13 @@ object IngameRenderer : Disposable { private fun prepLightmapRGBA() { - lightmapFboA.inAction(null, null) { - clearBuffer() - Gdx.gl.glDisable(GL20.GL_BLEND) - } - lightmapFboB.inAction(null, null) { + lightmapFbo.inAction(null, null) { clearBuffer() Gdx.gl.glDisable(GL20.GL_BLEND) } // processBlur(lightmapFboA, lightmapFboB) - processKawaseBlur(lightmapFboB) + processKawaseBlur(lightmapFbo) // processNoBlur() @@ -660,19 +655,20 @@ object IngameRenderer : Disposable { batch.projectionMatrix = camera.combined } - private const val KAWASE_POWER = 0.667f private var blurtex0 = Texture(16, 16, Pixmap.Format.RGBA8888) - private var blurtex1 = Texture(16, 16, Pixmap.Format.RGBA8888) - private var blurtex2 = Texture(16, 16, Pixmap.Format.RGBA8888) - private var blurtex3 = Texture(16, 16, Pixmap.Format.RGBA8888) - private var blurtex4 = Texture(16, 16, Pixmap.Format.RGBA8888) + private lateinit var blurtex1: Texture + private lateinit var blurtex2: Texture + private lateinit var blurtex3: Texture + private lateinit var blurtex4: Texture + private const val KAWASE_POWER = 1.5f fun processKawaseBlur(outFbo: FloatFrameBuffer) { blurtex0.dispose() + // initialise readBuffer with untreated lightmap outFbo.inAction(camera, batch) { blurtex0 = LightmapRenderer.draw() @@ -695,7 +691,7 @@ object IngameRenderer : Disposable { blurWriteQuad2.render(shaderKawaseDown, GL20.GL_TRIANGLES) } - fboBlurQuarter.inAction(camera, batch) { + /*fboBlurQuarter.inAction(camera, batch) { blurtex2 = fboBlurHalf.colorBufferTexture blurtex2.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear) blurtex2.bind(0) @@ -715,11 +711,11 @@ object IngameRenderer : Disposable { shaderKawaseUp.setUniformi("u_texture", 0) shaderKawaseUp.setUniformf("halfpixel", KAWASE_POWER / fboBlurQuarter.width, KAWASE_POWER / fboBlurQuarter.height) blurWriteQuad2.render(shaderKawaseUp, GL20.GL_TRIANGLES) - } + }*/ - // TODO apply dithering on this specific draw call outFbo.inAction(camera, batch) { blurtex4 = fboBlurHalf.colorBufferTexture + blurtex4.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear) blurtex4.bind(0) shaderKawaseUp.bind() shaderKawaseUp.setUniformMatrix("u_projTrans", camera.combined) @@ -746,12 +742,12 @@ object IngameRenderer : Disposable { VertexAttribute.ColorUnpacked(), VertexAttribute.TexCoords(0) ) - blurWriteQuad4 = Mesh( + /*blurWriteQuad4 = Mesh( true, 4, 6, VertexAttribute.Position(), VertexAttribute.ColorUnpacked(), VertexAttribute.TexCoords(0) - ) + )*/ init = true } else { @@ -759,45 +755,39 @@ object IngameRenderer : Disposable { fboRGB_lightMixed.dispose() fboA.dispose() fboA_lightMixed.dispose() - lightmapFboA.dispose() - lightmapFboB.dispose() + lightmapFbo.dispose() fboBlurHalf.dispose() - fboBlurQuarter.dispose() + //fboBlurQuarter.dispose() } - fboRGB = FloatFrameBuffer(width, height, true) - fboRGB_lightMixed = FloatFrameBuffer(width, height, true) - fboA = FloatFrameBuffer(width, height, true) - fboA_lightMixed = FloatFrameBuffer(width, height, true) - fboMixedOut = FloatFrameBuffer(width, height, true) - lightmapFboA = FloatFrameBuffer( + fboRGB = FloatFrameBuffer(width, height, false) + fboRGB_lightMixed = FloatFrameBuffer(width, height, false) + fboA = FloatFrameBuffer(width, height, false) + fboA_lightMixed = FloatFrameBuffer(width, height, false) + fboMixedOut = FloatFrameBuffer(width, height, false) + lightmapFbo = FloatFrameBuffer( LightmapRenderer.lightBuffer.width * LightmapRenderer.DRAW_TILE_SIZE.toInt(), LightmapRenderer.lightBuffer.height * LightmapRenderer.DRAW_TILE_SIZE.toInt(), - true - ) - lightmapFboB = FloatFrameBuffer( - LightmapRenderer.lightBuffer.width * LightmapRenderer.DRAW_TILE_SIZE.toInt(), - LightmapRenderer.lightBuffer.height * LightmapRenderer.DRAW_TILE_SIZE.toInt(), - true + false ) rgbTex = TextureRegion(fboRGB_lightMixed.colorBufferTexture) aTex = TextureRegion(fboA_lightMixed.colorBufferTexture) - lightTex = TextureRegion(lightmapFboB.colorBufferTexture) + lightTex = TextureRegion(lightmapFbo.colorBufferTexture) blurTex = TextureRegion() mixedOutTex = TextureRegion(fboMixedOut.colorBufferTexture) fboBlurHalf = FloatFrameBuffer( LightmapRenderer.lightBuffer.width * LightmapRenderer.DRAW_TILE_SIZE.toInt() / 2, LightmapRenderer.lightBuffer.height * LightmapRenderer.DRAW_TILE_SIZE.toInt() / 2, - true + false ) - fboBlurQuarter = FloatFrameBuffer( + /*fboBlurQuarter = FloatFrameBuffer( LightmapRenderer.lightBuffer.width * LightmapRenderer.DRAW_TILE_SIZE.toInt() / 4, LightmapRenderer.lightBuffer.height * LightmapRenderer.DRAW_TILE_SIZE.toInt() / 4, - true - ) + false + )*/ BlocksDrawer.resize(width, height) LightmapRenderer.resize(width, height) @@ -805,47 +795,42 @@ object IngameRenderer : Disposable { blurWriteQuad.setVertices(floatArrayOf( 0f,0f,0f, 1f,1f,1f,1f, 0f,1f, - lightmapFboA.width.toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, - lightmapFboA.width.toFloat(),lightmapFboA.height.toFloat(),0f, 1f,1f,1f,1f, 1f,0f, - 0f,lightmapFboA.height.toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) + lightmapFbo.width.toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, + lightmapFbo.width.toFloat(),lightmapFbo.height.toFloat(),0f, 1f,1f,1f,1f, 1f,0f, + 0f,lightmapFbo.height.toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) blurWriteQuad.setIndices(shortArrayOf(0, 1, 2, 2, 3, 0)) blurWriteQuad2.setVertices(floatArrayOf( 0f,0f,0f, 1f,1f,1f,1f, 0f,1f, - lightmapFboA.width.div(2).toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, - lightmapFboA.width.div(2).toFloat(),lightmapFboA.height.div(2).toFloat(),0f, 1f,1f,1f,1f, 1f,0f, - 0f,lightmapFboA.height.div(2).toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) + lightmapFbo.width.div(2).toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, + lightmapFbo.width.div(2).toFloat(),lightmapFbo.height.div(2).toFloat(),0f, 1f,1f,1f,1f, 1f,0f, + 0f,lightmapFbo.height.div(2).toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) blurWriteQuad2.setIndices(shortArrayOf(0, 1, 2, 2, 3, 0)) - blurWriteQuad4.setVertices(floatArrayOf( + /*blurWriteQuad4.setVertices(floatArrayOf( 0f,0f,0f, 1f,1f,1f,1f, 0f,1f, - lightmapFboA.width.div(4).toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, - lightmapFboA.width.div(4).toFloat(),lightmapFboA.height.div(4).toFloat(),0f, 1f,1f,1f,1f, 1f,0f, - 0f,lightmapFboA.height.div(4).toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) - blurWriteQuad4.setIndices(shortArrayOf(0, 1, 2, 2, 3, 0)) + lightmapFbo.width.div(4).toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, + lightmapFbo.width.div(4).toFloat(),lightmapFbo.height.div(4).toFloat(),0f, 1f,1f,1f,1f, 1f,0f, + 0f,lightmapFbo.height.div(4).toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) + blurWriteQuad4.setIndices(shortArrayOf(0, 1, 2, 2, 3, 0))*/ } override fun dispose() { blurWriteQuad.dispose() blurWriteQuad2.dispose() - blurWriteQuad4.dispose() + //blurWriteQuad4.dispose() fboRGB.dispose() fboA.dispose() fboRGB_lightMixed.dispose() fboA_lightMixed.dispose() fboMixedOut.dispose() - lightmapFboA.dispose() - lightmapFboB.dispose() + lightmapFbo.dispose() try { blurtex0.dispose() } catch (e: GdxRuntimeException) {} -// try { blurtex1.dispose() } catch (e: GdxRuntimeException) {} -// try { blurtex2.dispose() } catch (e: GdxRuntimeException) {} -// try { blurtex3.dispose() } catch (e: GdxRuntimeException) {} -// try { blurtex4.dispose() } catch (e: GdxRuntimeException) {} fboBlurHalf.dispose() - fboBlurQuarter.dispose() + //fboBlurQuarter.dispose() LightmapRenderer.dispose() BlocksDrawer.dispose() diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt index dc97f614f..141e291e0 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt @@ -29,7 +29,6 @@ import net.torvald.terrarum.ui.Movement import net.torvald.terrarum.ui.Toolkit import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.ui.UIItem -import net.torvald.terrarum.utils.RandomWordsName import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack import java.time.Instant import java.time.format.DateTimeFormatter @@ -137,7 +136,7 @@ class UILoadDemoSavefiles(val remoCon: UIRemoCon) : UICanvas() { private var scrollAnimCounter = 0f private val scrollAnimLen = 0.1f - private var sliderFBO = FrameBuffer(Pixmap.Format.RGBA8888, uiWidth + 10, height, true) + private var sliderFBO = FrameBuffer(Pixmap.Format.RGBA8888, uiWidth + 10, height, false) private var showSpinner = false @@ -450,7 +449,7 @@ class UILoadDemoSavefiles(val remoCon: UIRemoCon) : UICanvas() { uiScroll = 0f sliderFBO.dispose() - sliderFBO = FrameBuffer(Pixmap.Format.RGBA8888, uiWidth + 10, height, true) + sliderFBO = FrameBuffer(Pixmap.Format.RGBA8888, uiWidth + 10, height, false) } private fun setCameraPosition(batch: SpriteBatch, camera: Camera, newX: Float, newY: Float) { diff --git a/src/net/torvald/terrarum/ui/Toolkit.kt b/src/net/torvald/terrarum/ui/Toolkit.kt index 5459b10cf..e16658e03 100644 --- a/src/net/torvald/terrarum/ui/Toolkit.kt +++ b/src/net/torvald/terrarum/ui/Toolkit.kt @@ -298,17 +298,17 @@ object Toolkit : Disposable { fboBlur = FloatFrameBuffer( fw, fh, - true + false ) fboBlurHalf = FloatFrameBuffer( fw / 2, fh / 2, - true + false ) fboBlurQuarter = FloatFrameBuffer( fw / 4, fh / 4, - true + false ) blurWriteQuad.setVertices(floatArrayOf( diff --git a/src/net/torvald/terrarum/ui/UIItemSpinner.kt b/src/net/torvald/terrarum/ui/UIItemSpinner.kt index 885f26749..baae44370 100644 --- a/src/net/torvald/terrarum/ui/UIItemSpinner.kt +++ b/src/net/torvald/terrarum/ui/UIItemSpinner.kt @@ -36,7 +36,7 @@ class UIItemSpinner( override val height = 24 private val buttonW = 30 - private val fbo = FrameBuffer(Pixmap.Format.RGBA8888, width - 2*buttonW - 6, height - 4, true) + private val fbo = FrameBuffer(Pixmap.Format.RGBA8888, width - 2*buttonW - 6, height - 4, false) var value = initialValue.coerceIn(min, max) private var fboUpdateLatch = true diff --git a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt index 1c44368fa..bbd40a206 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt @@ -99,7 +99,7 @@ class UIItemTextLineInput( Pixmap.Format.RGBA8888, width - 2 * UI_TEXT_MARGIN - 2 * (WIDTH_ONEBUTTON + 3), height - 2 * UI_TEXT_MARGIN, - true + false ) var isActive: Boolean = false // keep it false by default! @@ -283,7 +283,7 @@ class UIItemTextLineInput( else if (keycodes.containsSome(Input.Keys.ENTER, Input.Keys.NUMPAD_ENTER)) { endComposing() - println("END COMPOSING!!") +// println("END COMPOSING!!") } // accept: // - literal "<" diff --git a/src/net/torvald/terrarum/ui/UIItemTextSelector.kt b/src/net/torvald/terrarum/ui/UIItemTextSelector.kt index 92dad6b26..b89955f83 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextSelector.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextSelector.kt @@ -44,7 +44,7 @@ class UIItemTextSelector( override val height = 24 private val buttonW = 30 - private val fbo = FrameBuffer(Pixmap.Format.RGBA8888, width - 2*buttonW - 6, height - 4, true) + private val fbo = FrameBuffer(Pixmap.Format.RGBA8888, width - 2*buttonW - 6, height - 4, false) var selection = initialSelection private var fboUpdateLatch = true