mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-12 03:24:06 +09:00
bytearray64reader wip
This commit is contained in:
47
src/net/torvald/terrarum/modulebasegame/console/Load.kt
Normal file
47
src/net/torvald/terrarum/modulebasegame/console/Load.kt
Normal file
@@ -0,0 +1,47 @@
|
||||
package net.torvald.terrarum.modulebasegame.console
|
||||
|
||||
import com.badlogic.gdx.utils.JsonValue
|
||||
import net.torvald.terrarum.AppLoader
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.console.ConsoleCommand
|
||||
import net.torvald.terrarum.console.Echo
|
||||
import net.torvald.terrarum.modulebasegame.TerrarumIngame
|
||||
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.DiskEntry
|
||||
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.EntryFile
|
||||
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.VDUtil
|
||||
import net.torvald.terrarum.serialise.*
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 2021-08-30.
|
||||
*/
|
||||
object Load : ConsoleCommand {
|
||||
|
||||
override fun execute(args: Array<String>) {
|
||||
if (args.size == 2) {
|
||||
try {
|
||||
val charset = Common.CHARSET
|
||||
val file = File(AppLoader.defaultDir + "Exports/${args[1]}")
|
||||
val disk = VDUtil.readDiskArchive(file, charset = charset)
|
||||
|
||||
val metaFile = VDUtil.getFile(disk, VDUtil.VDPath("savegame", charset))!!
|
||||
val metaReader = ByteArray64Reader(metaFile.contents.serialize().array)
|
||||
val meta = Common.jsoner.fromJson(JsonValue::class.java, metaReader)
|
||||
|
||||
}
|
||||
catch (e: IOException) {
|
||||
Echo("Load: IOException raised.")
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
else {
|
||||
printUsage()
|
||||
}
|
||||
}
|
||||
|
||||
override fun printUsage() {
|
||||
Echo("Usage: load <filename>")
|
||||
}
|
||||
|
||||
}
|
||||
@@ -14,6 +14,7 @@ import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.DiskEntry
|
||||
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.DiskEntryContent
|
||||
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.EntryFile
|
||||
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.VDUtil
|
||||
import net.torvald.terrarum.serialise.Common
|
||||
import net.torvald.terrarum.serialise.WriteActor
|
||||
import net.torvald.terrarum.serialise.WriteMeta
|
||||
import net.torvald.terrarum.serialise.WriteWorld
|
||||
@@ -39,7 +40,7 @@ object Save : ConsoleCommand {
|
||||
val creation_t = VDUtil.currentUnixtime
|
||||
val time_t = VDUtil.currentUnixtime
|
||||
|
||||
val disk = VDUtil.createNewDisk(1L shl 60, savename, Charsets.UTF_8)
|
||||
val disk = VDUtil.createNewDisk(1L shl 60, savename, Common.CHARSET)
|
||||
|
||||
// NOTE: don't bother with the entryID of DiskEntries; it will be overwritten anyway
|
||||
|
||||
|
||||
Reference in New Issue
Block a user