mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-20 07:24:06 +09:00
savegame loading failure will display more helpful exception
This commit is contained in:
@@ -13,7 +13,6 @@ import net.torvald.EMDASH
|
||||
import net.torvald.getKeycapConsole
|
||||
import net.torvald.getKeycapPC
|
||||
import net.torvald.spriteanimation.SpriteAnimation
|
||||
import net.torvald.terrarum.spriteassembler.ADProperties
|
||||
import net.torvald.terrarum.*
|
||||
import net.torvald.terrarum.App.printdbg
|
||||
import net.torvald.terrarum.langpack.Lang
|
||||
@@ -25,6 +24,8 @@ import net.torvald.terrarum.savegame.EntryFile
|
||||
import net.torvald.terrarum.serialise.Common
|
||||
import net.torvald.terrarum.serialise.LoadSavegame
|
||||
import net.torvald.terrarum.serialise.ReadPlayer
|
||||
import net.torvald.terrarum.serialise.SaveLoadError
|
||||
import net.torvald.terrarum.spriteassembler.ADProperties
|
||||
import net.torvald.terrarum.spriteassembler.ADProperties.Companion.EXTRA_HEADROOM_X
|
||||
import net.torvald.terrarum.spriteassembler.ADProperties.Companion.EXTRA_HEADROOM_Y
|
||||
import net.torvald.terrarum.ui.Movement
|
||||
@@ -554,6 +555,7 @@ class UIItemPlayerCells(
|
||||
// try to generate a texture
|
||||
if (skimmer.initialised && !hasTexture) {
|
||||
skimmer.getFile(-1L)?.bytes?.let {
|
||||
try {
|
||||
val animFile = skimmer.getFile(-2L)!!
|
||||
val p = ReadPlayer(skimmer, ByteArray64Reader(it, Common.CHARSET))
|
||||
p.sprite = SpriteAnimation(p)
|
||||
@@ -565,6 +567,10 @@ class UIItemPlayerCells(
|
||||
}
|
||||
this.sprite = p.sprite
|
||||
}
|
||||
catch (e: Throwable) {
|
||||
throw SaveLoadError(skimmer.diskFile, e)
|
||||
}
|
||||
}
|
||||
|
||||
hasTexture = true
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import net.torvald.terrarum.savegame.ByteArray64InputStream
|
||||
import net.torvald.terrarum.savegame.ByteArray64Reader
|
||||
import net.torvald.terrarum.utils.*
|
||||
import org.apache.commons.codec.digest.DigestUtils
|
||||
import java.io.File
|
||||
import java.io.InputStream
|
||||
import java.io.Reader
|
||||
import java.io.StringReader
|
||||
@@ -327,3 +328,5 @@ object Common {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class SaveLoadError(file: File, cause: Throwable) : RuntimeException("An error occured while loading save file '${file.absolutePath}'", cause)
|
||||
Reference in New Issue
Block a user