From 68b5d15944828c6204adf72c2e2e5b0ca85d844d Mon Sep 17 00:00:00 2001 From: minjaesong Date: Wed, 17 May 2023 19:52:51 +0900 Subject: [PATCH] disallowing nicknames (may contain non-ascii) on filename: somehow incompatible with BTRFS and Java 17? --- src/net/torvald/terrarum/Terrarum.kt | 4 ++-- .../torvald/terrarum/modulebasegame/TerrarumIngame.kt | 2 +- .../modulebasegame/serialise/QuickSaveThread.kt | 2 +- .../terrarum/modulebasegame/serialise/WriteSavegame.kt | 6 +++--- .../terrarum/modulebasegame/worldgenerator/Terragen.kt | 10 +++++----- src/net/torvald/terrarum/savegame/DiskSkimmer.kt | 1 - 6 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/net/torvald/terrarum/Terrarum.kt b/src/net/torvald/terrarum/Terrarum.kt index 098459d09..5b10b4153 100644 --- a/src/net/torvald/terrarum/Terrarum.kt +++ b/src/net/torvald/terrarum/Terrarum.kt @@ -788,7 +788,7 @@ fun AppUpdateListOfSavegames() { // create list of worlds File(worldsDir).listFiles().filter { !it.isDirectory && !it.name.contains('.') }.mapNotNull { file -> try { - DiskSkimmer(file, Common.CHARSET, true) + DiskSkimmer(file, true) } catch (e: Throwable) { System.err.println("Unable to load a world file ${file.absolutePath}") @@ -814,7 +814,7 @@ fun AppUpdateListOfSavegames() { // create list of players File(playersDir).listFiles().filter { !it.isDirectory && !it.name.contains('.') }.mapNotNull { file -> try { - DiskSkimmer(file, Common.CHARSET, true) + DiskSkimmer(file, true) } catch (e: Throwable) { System.err.println("Unable to load a player file ${file.absolutePath}") diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt index cc0d182ba..b5ed11dc7 100644 --- a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt +++ b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt @@ -381,7 +381,7 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) { private fun postInitForNewGame() { - worldSavefileName = LoadSavegame.getWorldSavefileName(savegameNickname, world) + worldSavefileName = LoadSavegame.getWorldSavefileName(world) playerSavefileName = LoadSavegame.getPlayerSavefileName(actorGamer) worldDisk = VDUtil.createNewDisk( diff --git a/src/net/torvald/terrarum/modulebasegame/serialise/QuickSaveThread.kt b/src/net/torvald/terrarum/modulebasegame/serialise/QuickSaveThread.kt index a4bb9e8de..874117bae 100644 --- a/src/net/torvald/terrarum/modulebasegame/serialise/QuickSaveThread.kt +++ b/src/net/torvald/terrarum/modulebasegame/serialise/QuickSaveThread.kt @@ -46,7 +46,7 @@ class QuickSingleplayerWorldSavingThread( override fun save() { - val skimmer = DiskSkimmer(outFile, Common.CHARSET) + val skimmer = DiskSkimmer(outFile) if (hasThumbnail) { while (!IngameRenderer.fboRGBexportedLatch) { diff --git a/src/net/torvald/terrarum/modulebasegame/serialise/WriteSavegame.kt b/src/net/torvald/terrarum/modulebasegame/serialise/WriteSavegame.kt index f850deec0..59ec444c8 100644 --- a/src/net/torvald/terrarum/modulebasegame/serialise/WriteSavegame.kt +++ b/src/net/torvald/terrarum/modulebasegame/serialise/WriteSavegame.kt @@ -108,8 +108,8 @@ object WriteSavegame { object LoadSavegame { fun getSavegameNickname(worldDisk: SimpleFileSystem) = worldDisk.getDiskName(Common.CHARSET) - fun getWorldSavefileName(nick: String, world: GameWorld) = "$nick-${world.worldIndex}" - fun getPlayerSavefileName(player: IngamePlayer) = (player.actorValue.getAsString(AVKey.NAME) ?: "Player") + "-${player.uuid}" + fun getWorldSavefileName(world: GameWorld) = "${world.worldIndex}" + fun getPlayerSavefileName(player: IngamePlayer) = "${player.uuid}" fun getFileBytes(disk: SimpleFileSystem, id: Long): ByteArray64 = disk.getFile(id)!!.bytes fun getFileReader(disk: SimpleFileSystem, id: Long): Reader = ByteArray64Reader(getFileBytes(disk, id), Common.CHARSET) @@ -136,7 +136,7 @@ object LoadSavegame { newIngame.worldDisk = VDUtil.readDiskArchive(worldDisk.diskFile, Level.INFO) newIngame.playerDisk = VDUtil.readDiskArchive(playerDisk.diskFile, Level.INFO) newIngame.savegameNickname = getSavegameNickname(worldDisk) - newIngame.worldSavefileName = getWorldSavefileName(newIngame.savegameNickname, world) + newIngame.worldSavefileName = getWorldSavefileName(world) newIngame.playerSavefileName = getPlayerSavefileName(player) // worldDisk.dispose() diff --git a/src/net/torvald/terrarum/modulebasegame/worldgenerator/Terragen.kt b/src/net/torvald/terrarum/modulebasegame/worldgenerator/Terragen.kt index ea43ad1a8..b4c60bd46 100644 --- a/src/net/torvald/terrarum/modulebasegame/worldgenerator/Terragen.kt +++ b/src/net/torvald/terrarum/modulebasegame/worldgenerator/Terragen.kt @@ -239,14 +239,14 @@ class Terragen(world: GameWorld, seed: Long, params: Any) : Gen(world, seed, par it.seed = seed shake selectionMagic } - val terrainAutocorrect = ModuleAutoCorrect().also { // absolutely required + val terrainScaleOffset = ModuleScaleOffset().also { it.setSource(terrainTypeFractal) - it.setLow(0.0) - it.setHigh(1.0) - } // TODO REPLACE WITH ScaleOffset and play with the both values + it.setOffset(0.5) + it.setScale(0.5) + } val terrainTypeYScale = ModuleScaleDomain().also { - it.setSource(terrainAutocorrect) + it.setSource(terrainScaleOffset) it.setScaleY(0.0) } diff --git a/src/net/torvald/terrarum/savegame/DiskSkimmer.kt b/src/net/torvald/terrarum/savegame/DiskSkimmer.kt index f64f94f69..0619ab323 100644 --- a/src/net/torvald/terrarum/savegame/DiskSkimmer.kt +++ b/src/net/torvald/terrarum/savegame/DiskSkimmer.kt @@ -21,7 +21,6 @@ import kotlin.experimental.and */ class DiskSkimmer( val diskFile: File, - val charset: Charset = Charset.defaultCharset(), noInit: Boolean = false ): SimpleFileSystem {