diff --git a/src/net/torvald/terrarum/App.java b/src/net/torvald/terrarum/App.java index 287f301e0..17c2ce41f 100644 --- a/src/net/torvald/terrarum/App.java +++ b/src/net/torvald/terrarum/App.java @@ -592,7 +592,7 @@ public class App implements ApplicationListener { FrameBufferManager.begin(renderFBO); - gdxClearAndEnableBlend(.094f, .094f, .094f, 0f); + gdxClearAndEnableBlend(.063f, .070f, .086f, 1f); setCameraPosition(0, 0); diff --git a/src/net/torvald/terrarum/ErrorDisp.kt b/src/net/torvald/terrarum/ErrorDisp.kt index 9ac02b73f..66aea6c55 100644 --- a/src/net/torvald/terrarum/ErrorDisp.kt +++ b/src/net/torvald/terrarum/ErrorDisp.kt @@ -38,7 +38,7 @@ object ErrorDisp : Screen { } override fun render(delta: Float) { - gdxClearAndEnableBlend(.094f, .094f, .094f, 0f) + gdxClearAndEnableBlend(.063f, .070f, .086f, 1f) diff --git a/src/net/torvald/terrarum/SanicLoadScreen.kt b/src/net/torvald/terrarum/SanicLoadScreen.kt index 91cf053ef..aba27c9c6 100644 --- a/src/net/torvald/terrarum/SanicLoadScreen.kt +++ b/src/net/torvald/terrarum/SanicLoadScreen.kt @@ -79,7 +79,7 @@ object SanicLoadScreen : LoadScreenBase() { - gdxClearAndEnableBlend(.094f, .094f, .094f, 0f) + gdxClearAndEnableBlend(.063f, .070f, .086f, 1f) textFbo.inAction(null, null) { gdxClearAndEnableBlend(0f, 0f, 0f, 0f) diff --git a/src/net/torvald/terrarum/TerrarumPostProcessor.kt b/src/net/torvald/terrarum/TerrarumPostProcessor.kt index caf920f2c..97d9ec9ae 100644 --- a/src/net/torvald/terrarum/TerrarumPostProcessor.kt +++ b/src/net/torvald/terrarum/TerrarumPostProcessor.kt @@ -114,7 +114,7 @@ object TerrarumPostProcessor : Disposable { outFBO.inAction(camera, batch) { App.measureDebugTime("Renderer.PostProcessor") { - gdxClearAndEnableBlend(.094f, .094f, .094f, 0f) + gdxClearAndEnableBlend(.063f, .070f, .086f, 1f) fbo.colorBufferTexture.setFilter( Texture.TextureFilter.Linear, diff --git a/src/net/torvald/terrarum/modulebasegame/ChunkLoadingLoadScreen.kt b/src/net/torvald/terrarum/modulebasegame/ChunkLoadingLoadScreen.kt index a94a1f358..8c912e08d 100644 --- a/src/net/torvald/terrarum/modulebasegame/ChunkLoadingLoadScreen.kt +++ b/src/net/torvald/terrarum/modulebasegame/ChunkLoadingLoadScreen.kt @@ -38,7 +38,7 @@ class ChunkLoadingLoadScreen(screenToBeLoaded: IngameInstance, private val world } override fun render(delta: Float) { - gdxClearAndEnableBlend(.094f, .094f, .094f, 0f) + gdxClearAndEnableBlend(.063f, .070f, .086f, 1f) val drawWidth = Toolkit.drawWidth diff --git a/src/net/torvald/terrarum/modulebasegame/FancyWorldGenLoadScreen.kt b/src/net/torvald/terrarum/modulebasegame/FancyWorldReadLoadScreen.kt similarity index 85% rename from src/net/torvald/terrarum/modulebasegame/FancyWorldGenLoadScreen.kt rename to src/net/torvald/terrarum/modulebasegame/FancyWorldReadLoadScreen.kt index d746a9aae..3a3704b76 100644 --- a/src/net/torvald/terrarum/modulebasegame/FancyWorldGenLoadScreen.kt +++ b/src/net/torvald/terrarum/modulebasegame/FancyWorldReadLoadScreen.kt @@ -13,7 +13,7 @@ import kotlin.math.sqrt /** * Created by minjaesong on 2023-10-30. */ -class FancyWorldGenLoadScreen(screenToBeLoaded: IngameInstance, private val worldwidth: Int, private val worldheight: Int, override var preLoadJob: (LoadScreenBase) -> Unit) : LoadScreenBase() { +class FancyWorldReadLoadScreen(screenToBeLoaded: IngameInstance, private val worldwidth: Int, private val worldheight: Int, override var preLoadJob: (LoadScreenBase) -> Unit) : LoadScreenBase() { init { CommonResourcePool.addToLoadingList("basegame-gui-loadscrlayer01") { @@ -58,8 +58,10 @@ class FancyWorldGenLoadScreen(screenToBeLoaded: IngameInstance, private val worl TextureRegionPack(it, visibleTileSize, imgYoff + previewHeight, gapSize, 0, xoff, 0) } + var chunksLoaded = 0 // only increments when all the chunks were loaded + override fun render(delta: Float) { - gdxClearAndEnableBlend(.094f, .094f, .094f, 0f) + gdxClearAndEnableBlend(.063f, .070f, .086f, 1f) App.batch.inUse { val it = it as FlippingSpriteBatch it.color = Color.WHITE @@ -82,16 +84,17 @@ class FancyWorldGenLoadScreen(screenToBeLoaded: IngameInstance, private val worl } private fun getProgress(): Int { - return 42 + return (chunksLoaded.toDouble() / vtilesCount).roundToInt() } private fun getStage(): Int { - return 2 + return 2 // fixed value for Read screen } private fun drawTiles(batch: FlippingSpriteBatch, layerCount: Int, tileCount: Int, x: Float, y: Float) { for (layer in 0 until layerCount) { - for (i in 0 until if (layer == layerCount - 1) tileCount else htilesCount) { +// for (i in 0 until if (layer == layerCount - 1) tileCount else htilesCount) { + for (i in 0 until tileCount) { batch.draw(tiles[layer].get(i, 0), x + i * tileSize, y) } } diff --git a/src/net/torvald/terrarum/modulebasegame/WorldgenLoadScreen.kt b/src/net/torvald/terrarum/modulebasegame/WorldgenLoadScreen.kt index 6eb333da3..b5878ce6c 100644 --- a/src/net/torvald/terrarum/modulebasegame/WorldgenLoadScreen.kt +++ b/src/net/torvald/terrarum/modulebasegame/WorldgenLoadScreen.kt @@ -57,7 +57,7 @@ class WorldgenLoadScreen(screenToBeLoaded: IngameInstance, private val worldwidt } override fun render(delta: Float) { - gdxClearAndEnableBlend(.094f, .094f, .094f, 0f) + gdxClearAndEnableBlend(.063f, .070f, .086f, 1f) val drawWidth = Toolkit.drawWidth diff --git a/src/net/torvald/terrarum/modulebasegame/serialise/WriteSavegame.kt b/src/net/torvald/terrarum/modulebasegame/serialise/WriteSavegame.kt index a4158e25f..e8b2ea7e2 100644 --- a/src/net/torvald/terrarum/modulebasegame/serialise/WriteSavegame.kt +++ b/src/net/torvald/terrarum/modulebasegame/serialise/WriteSavegame.kt @@ -9,8 +9,7 @@ import net.torvald.terrarum.gameworld.BlockLayerI16F16 import net.torvald.terrarum.gameworld.BlockLayerI16I8 import net.torvald.terrarum.gameworld.GameWorld import net.torvald.terrarum.langpack.Lang -import net.torvald.terrarum.modulebasegame.ChunkLoadingLoadScreen -import net.torvald.terrarum.modulebasegame.FancyWorldGenLoadScreen +import net.torvald.terrarum.modulebasegame.FancyWorldReadLoadScreen import net.torvald.terrarum.modulebasegame.IngameRenderer import net.torvald.terrarum.modulebasegame.TerrarumIngame import net.torvald.terrarum.modulebasegame.gameactors.IngamePlayer @@ -163,7 +162,7 @@ object LoadSavegame { val loadJob = { it: LoadScreenBase -> - val loadscreen = it as FancyWorldGenLoadScreen + val loadscreen = it as FancyWorldReadLoadScreen loadscreen.addMessage(Lang["MENU_IO_LOADING"]) @@ -201,6 +200,7 @@ object LoadSavegame { ReadWorld.decodeChunkToLayer(chunkFile.getContent(), worldLayer[layer]!!, chunkXY.x, chunkXY.y) } + it.chunksLoaded += 1 } loadscreen.addMessage("Updating Block Mappings...") @@ -211,7 +211,7 @@ object LoadSavegame { printdbg(this, "World loaded: ${newIngame.worldDisk.getDiskName(Common.CHARSET)}") } - val loadScreen = FancyWorldGenLoadScreen(newIngame, world.width, world.height, loadJob) + val loadScreen = FancyWorldReadLoadScreen(newIngame, world.width, world.height, loadJob) Terrarum.setCurrentIngameInstance(newIngame) App.setLoadScreen(loadScreen) } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/StaticLoadScreenSubstitute.kt b/src/net/torvald/terrarum/modulebasegame/ui/StaticLoadScreenSubstitute.kt index 11bdb07a9..1c638244b 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/StaticLoadScreenSubstitute.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/StaticLoadScreenSubstitute.kt @@ -14,7 +14,7 @@ object StaticLoadScreenSubstitute { operator fun invoke(batch: SpriteBatch) { batch.end() - gdxClearAndEnableBlend(.094f, .094f, .094f, 0f) + gdxClearAndEnableBlend(.063f, .070f, .086f, 1f) batch.begin() diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt index 4549a5d1f..63f55aa20 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt @@ -312,7 +312,7 @@ class UILoadDemoSavefiles(val remoCon: UIRemoCon) : Advanceable() { // to hide the "flipped skybox" artefact batch.end() - gdxClearAndEnableBlend(.094f, .094f, .094f, 0f) + gdxClearAndEnableBlend(.063f, .070f, .086f, 1f) batch.begin()