chunked world output/deploying custom format of TVD

This commit is contained in:
minjaesong
2021-09-11 02:19:10 +09:00
parent 36c413eb15
commit 83c3c22b51
26 changed files with 3036 additions and 68 deletions

View File

@@ -34,7 +34,8 @@ import net.torvald.terrarum.modulebasegame.ui.*
import net.torvald.terrarum.modulebasegame.worldgenerator.RoguelikeRandomiser
import net.torvald.terrarum.modulebasegame.worldgenerator.Worldgen
import net.torvald.terrarum.modulebasegame.worldgenerator.WorldgenParams
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.VDUtil
import net.torvald.terrarum.tvda.VDUtil
import net.torvald.terrarum.realestate.LandUtil
import net.torvald.terrarum.serialise.Common
import net.torvald.terrarum.serialise.WriteMeta
import net.torvald.terrarum.ui.UICanvas
@@ -232,7 +233,13 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
val height: Int,
val worldGenSeed: Long
// other worldgen options
)
) {
init {
if (width % LandUtil.CHUNK_W != 0 || height % LandUtil.CHUNK_H != 0) {
throw IllegalArgumentException("World size is not a multiple of chunk size; World size: ($width, $height), Chunk size: (${LandUtil.CHUNK_W}, ${LandUtil.CHUNK_H})")
}
}
}
data class Codices(
val meta: WriteMeta.WorldMeta,

View File

@@ -7,7 +7,7 @@ import net.torvald.terrarum.ccG
import net.torvald.terrarum.ccR
import net.torvald.terrarum.console.ConsoleCommand
import net.torvald.terrarum.console.Echo
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.VDUtil
import net.torvald.terrarum.tvda.VDUtil
import net.torvald.terrarum.serialise.*
import java.io.File
import java.io.IOException

View File

@@ -2,8 +2,8 @@ package net.torvald.terrarum.modulebasegame.console
import net.torvald.terrarum.console.ConsoleCommand
import net.torvald.terrarum.console.Echo
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.ByteArray64Reader
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.ByteArray64Writer
import net.torvald.terrarum.tvda.ByteArray64Reader
import net.torvald.terrarum.tvda.ByteArray64Writer
import net.torvald.terrarum.serialise.Common
import net.torvald.terrarum.serialise.toUint
import java.io.File

View File

@@ -9,9 +9,9 @@ import net.torvald.terrarum.console.Echo
import net.torvald.terrarum.gameactors.Actor
import net.torvald.terrarum.gameactors.BlockMarkerActor
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.DiskEntry
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.VDUtil
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.VirtualDisk
import net.torvald.terrarum.tvda.DiskEntry
import net.torvald.terrarum.tvda.VDUtil
import net.torvald.terrarum.tvda.VirtualDisk
import net.torvald.terrarum.serialise.Common
import net.torvald.terrarum.serialise.WriteSavegame
import java.io.File

View File

@@ -9,9 +9,9 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.terrarum.*
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.ByteArray64InputStream
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.VDUtil
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.VirtualDisk
import net.torvald.terrarum.tvda.ByteArray64InputStream
import net.torvald.terrarum.tvda.VDUtil
import net.torvald.terrarum.tvda.VirtualDisk
import net.torvald.terrarum.serialise.Common
import net.torvald.terrarum.serialise.LoadSavegame
import net.torvald.terrarum.serialise.ReadMeta

View File

@@ -2,7 +2,6 @@ package net.torvald.terrarum.modulebasegame.ui
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.random.HQRNG
import net.torvald.terrarum.App
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.Second
@@ -38,8 +37,8 @@ class UIProxyNewRandomGame : UICanvas() {
val ingame = TerrarumIngame(App.batch)
// val worldParam = TerrarumIngame.NewWorldParameters(2400, 1280, 0x51621DL)
val worldParam = TerrarumIngame.NewWorldParameters(2400, 1280, HQRNG().nextLong())
// val worldParam = TerrarumIngame.NewWorldParameters(2880, 1344, HQRNG().nextLong())
val worldParam = TerrarumIngame.NewWorldParameters(2880, 1350, 0x51621D)
//val worldParam = TerrarumIngame.NewWorldParameters(6000, 1800, 0x51621DL) // small
// val worldParam = TerrarumIngame.NewWorldParameters(9000, 2250, 0x51621DL) // normal