diff --git a/src/net/torvald/terrarum/modulebasegame/serialise/WriteWorld.kt b/src/net/torvald/terrarum/modulebasegame/serialise/WriteWorld.kt index 7b3f26469..13952953a 100644 --- a/src/net/torvald/terrarum/modulebasegame/serialise/WriteWorld.kt +++ b/src/net/torvald/terrarum/modulebasegame/serialise/WriteWorld.kt @@ -33,7 +33,7 @@ object WriteWorld { val world = ingame.world val currentPlayTime_t = time_t - ingame.loadedTime_t - world.comp = Common.COMP_ZSTD + world.comp = Common.getCompIndex() world.lastPlayTime = time_t world.totalPlayTime += currentPlayTime_t diff --git a/src/net/torvald/terrarum/serialise/Common.kt b/src/net/torvald/terrarum/serialise/Common.kt index 29adae0eb..fc81f2ee3 100644 --- a/src/net/torvald/terrarum/serialise/Common.kt +++ b/src/net/torvald/terrarum/serialise/Common.kt @@ -44,6 +44,7 @@ object Common { const val COMP_GZIP = 1 // const val COMP_LZMA = 2 const val COMP_ZSTD = 3 + const val COMP_SNAPPY = 4 val CHARSET = Charsets.UTF_8 @@ -529,6 +530,10 @@ object Common { } } + fun getCompIndex() = when (App.getConfigString("savegamecomp")) { + "snappy" -> COMP_SNAPPY + else -> COMP_ZSTD + } fun enasciiToString(ba: ByteArray64): String = enasciiToString(ba.iterator()) fun enasciiToString(ba: Iterator): String { diff --git a/src/net/torvald/terrarum/serialise/ReadSimpleWorld.kt b/src/net/torvald/terrarum/serialise/ReadSimpleWorld.kt index bb802cd7e..e68281703 100644 --- a/src/net/torvald/terrarum/serialise/ReadSimpleWorld.kt +++ b/src/net/torvald/terrarum/serialise/ReadSimpleWorld.kt @@ -45,7 +45,7 @@ object WriteSimpleWorld { private fun preWrite(ingame: IngameInstance, time_t: Long, world: SimpleGameWorld, actorsList: List) { val currentPlayTime_t = time_t - ingame.loadedTime_t - world.comp = Common.COMP_ZSTD + world.comp = Common.getCompIndex() world.lastPlayTime = time_t world.totalPlayTime += currentPlayTime_t