audosave marker on prev versions listing

This commit is contained in:
minjaesong
2023-09-19 22:50:25 +09:00
parent 21b3d27148
commit 442d7f6821
2 changed files with 17 additions and 5 deletions

View File

@@ -169,7 +169,7 @@ class UILoadList(val full: UILoadSavegame) : UICanvas() {
val cells = playerCells val cells = playerCells
lateinit var savePixmap: Pixmap lateinit var savePixmap: Pixmap
sliderFBO.inAction(camera as OrthographicCamera, batch) { sliderFBO.inAction(camera, batch) {
gdxClearAndEnableBlend(0f, 0f, 0f, 0f) gdxClearAndEnableBlend(0f, 0f, 0f, 0f)
full.setCameraPosition(batch, camera, 0f, 0f) full.setCameraPosition(batch, camera, 0f, 0f)

View File

@@ -8,6 +8,7 @@ import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.g2d.TextureRegion import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.terrarum.App import net.torvald.terrarum.App
import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
import net.torvald.terrarum.langpack.Lang import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.modulebasegame.serialise.LoadSavegame import net.torvald.terrarum.modulebasegame.serialise.LoadSavegame
@@ -308,6 +309,8 @@ class UILoadManage(val full: UILoadSavegame) : UICanvas() {
private var selectedRevision = 0 // 0: most recent, 1: second most recent, etc. private var selectedRevision = 0 // 0: most recent, 1: second most recent, etc.
private val icons = CommonResourcePool.getAsTextureRegionPack("inventory_category")
override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) {
if (mode != MODE_SHOW_LOAD_ORDER) { if (mode != MODE_SHOW_LOAD_ORDER) {
val buttonYdelta = (full.titleTopGradEnd) - full.playerButtonSelected!!.posY val buttonYdelta = (full.titleTopGradEnd) - full.playerButtonSelected!!.posY
@@ -403,8 +406,14 @@ class UILoadManage(val full: UILoadSavegame) : UICanvas() {
Toolkit.drawTextCentered(batch, App.fontGame, playerName, modulesTextboxW, playerModTextboxX, modulesBoxBaseY2 + 1) Toolkit.drawTextCentered(batch, App.fontGame, playerName, modulesTextboxW, playerModTextboxX, modulesBoxBaseY2 + 1)
Toolkit.drawTextCentered(batch, App.fontGame, Lang["MENU_LABEL_WORLD"], modulesTextboxW, worldModTextboxX, modulesBoxBaseY2 + 1) Toolkit.drawTextCentered(batch, App.fontGame, Lang["MENU_LABEL_WORLD"], modulesTextboxW, worldModTextboxX, modulesBoxBaseY2 + 1)
sortedPlayerWorldList.forEachIndexed { index, (pmeta, wmeta) -> sortedPlayerWorldList.forEachIndexed { index, (pmeta, wmeta) ->
if (pmeta != null) App.fontGame.draw(batch, "$pmeta", px48, modulesBoxBaseY2 + 36 + 32 * index) if (pmeta != null) {
if (wmeta != null) App.fontGame.draw(batch, "$wmeta", wx48, modulesBoxBaseY2 + 36 + 32 * index) if (pmeta.isAuto) batch.draw(icons.get(24,1), playerModTextboxX + 4f, modulesBoxBaseY2 + 38f + 32 * index)
App.fontGame.draw(batch, "$pmeta", px48, modulesBoxBaseY2 + 36 + 32 * index)
}
if (wmeta != null) {
if (wmeta.isAuto) batch.draw(icons.get(24,1), worldModTextboxX + 4f, modulesBoxBaseY2 + 38f + 32 * index)
App.fontGame.draw(batch, "$wmeta", wx48, modulesBoxBaseY2 + 36 + 32 * index)
}
} }
modulesBackButton.render(batch, camera) modulesBackButton.render(batch, camera)
@@ -417,7 +426,8 @@ class UILoadManage(val full: UILoadSavegame) : UICanvas() {
private data class SavegameMeta( private data class SavegameMeta(
val lastPlayTime: Long, val lastPlayTime: Long,
val genver: String val genver: String,
val isAuto: Boolean,
) { ) {
private val lastPlayTimeS = Instant.ofEpochSecond(lastPlayTime) private val lastPlayTimeS = Instant.ofEpochSecond(lastPlayTime)
.atZone(TimeZone.getDefault().toZoneId()) .atZone(TimeZone.getDefault().toZoneId())
@@ -430,6 +440,7 @@ class UILoadManage(val full: UILoadSavegame) : UICanvas() {
this.getFile(SAVEGAMEINFO)!!.bytes.let { this.getFile(SAVEGAMEINFO)!!.bytes.let {
var lastPlayTime = 0L var lastPlayTime = 0L
var versionString = "" var versionString = ""
val isAuto = (this.getSaveMode() and 0b10 != 0)
JsonFetcher.readFromJsonString(ByteArray64Reader(it, Common.CHARSET)).forEachSiblings { name, value -> JsonFetcher.readFromJsonString(ByteArray64Reader(it, Common.CHARSET)).forEachSiblings { name, value ->
if (name == "lastPlayTime") lastPlayTime = value.asLong() if (name == "lastPlayTime") lastPlayTime = value.asLong()
if (name == "genver") versionString = value.asLong().let { "${it.ushr(48)}.${it.ushr(24).and(0xFFFFFF)}.${it.and(0xFFFFFF)}" } if (name == "genver") versionString = value.asLong().let { "${it.ushr(48)}.${it.ushr(24).and(0xFFFFFF)}.${it.and(0xFFFFFF)}" }
@@ -437,7 +448,8 @@ class UILoadManage(val full: UILoadSavegame) : UICanvas() {
return SavegameMeta( return SavegameMeta(
lastPlayTime, lastPlayTime,
versionString versionString,
isAuto
) )
} }
} }