limitedly successful attempt to create a title screen

This commit is contained in:
minjaesong
2017-07-20 00:36:41 +09:00
parent 3a1379e376
commit 15dbd16766
34 changed files with 1168 additions and 410 deletions

View File

@@ -51,7 +51,11 @@ object CommandDict {
"spawntorch" to SpawnTikiTorch,
"musictest" to MusicTest,
"spawntapestry" to SpawnTapestry,
"imtest" to JavaIMTest
"imtest" to JavaIMTest,
/* !! */"exportlayer" to ExportLayerData,
/* !! */"importlayer" to ImportLayerData
)
operator fun get(commandName: String): ConsoleCommand {

View File

@@ -1,6 +1,7 @@
package net.torvald.terrarum.console
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.ccR
import net.torvald.terrarum.ui.ConsoleWindow
/**
@@ -13,7 +14,7 @@ internal object EchoError : ConsoleCommand {
}
fun execute(single_line: String) {
(Terrarum.ingame!!.consoleHandler.UI as ConsoleWindow).sendMessage(single_line)
(Terrarum.ingame!!.consoleHandler.UI as ConsoleWindow).sendMessage("$ccR$single_line")
}
operator fun invoke(args: Array<String>) = execute(args)

View File

@@ -0,0 +1,26 @@
package net.torvald.terrarum.console
import net.torvald.terrarum.serialise.WriteLayerData
import net.torvald.terrarum.serialise.WriteMeta
/**
* Created by minjaesong on 2017-07-18.
*/
object ExportLayerData : ConsoleCommand {
override fun execute(args: Array<String>) {
if (args.size < 2) {
printUsage()
return
}
val saveDirectoryName = args[1]
WriteLayerData(saveDirectoryName)
Echo("Layer data exported to $saveDirectoryName/${WriteLayerData.META_FILENAME}")
}
override fun printUsage() {
Echo("Usage: exportlayer savename")
}
}

View File

@@ -0,0 +1,33 @@
package net.torvald.terrarum.console
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.serialise.ReadLayerData
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
import java.io.FileInputStream
import java.util.zip.GZIPInputStream
/**
* Created by minjaesong on 2017-07-18.
*/
object ImportLayerData : ConsoleCommand {
override fun execute(args: Array<String>) {
if (args.size < 2) {
ExportLayerData.printUsage()
return
}
//val fis = GZIPInputStream(FileInputStream(args[1])) // this gzip is kaput
val fis = FileInputStream(args[1])
Terrarum.ingame!!.world = ReadLayerData(fis)
Terrarum.ingame!!.player.setPosition(
Terrarum.ingame!!.world.spawnY * FeaturesDrawer.TILE_SIZE.toDouble(),
Terrarum.ingame!!.world.spawnX * FeaturesDrawer.TILE_SIZE.toDouble()
)
fis.close()
Echo("Successfully loaded ${args[1]}")
}
override fun printUsage() {
Echo("Usage: importlayer path/to/layer.data")
}
}