From 0e21f286098ae62401b4f0309f809ab24144ec6c Mon Sep 17 00:00:00 2001 From: minjaesong Date: Fri, 6 Oct 2023 15:05:47 +0900 Subject: [PATCH] fix: imported avatars trigger NPE on UILoadManage --- src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt | 2 +- .../terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt | 1 + src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt index 1065055f1..f29748dfc 100644 --- a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt +++ b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt @@ -941,8 +941,8 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) { uiContainer.forEach { when (it) { - is UICanvas -> it.update(Gdx.graphics.deltaTime) is Id_UICanvasNullable -> it.get()?.update(Gdx.graphics.deltaTime) + is UICanvas -> it.update(Gdx.graphics.deltaTime) } } //uiFixture?.update(Gdx.graphics.deltaTime) diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt index f67ee70ac..fc6fc7022 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt @@ -19,6 +19,7 @@ class ItemLogicSignalEmitter(originalID: ItemID) : FixtureItemBase(originalID, " override var baseToolSize: Double? = baseMass override var originalName = "ITEM_LOGIC_SIGNAL_EMITTER" + override var inventoryCategory = Category.MISC override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) { super.effectWhileEquipped(actor, delta) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt index 4786ef8bf..04349cda9 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt @@ -271,7 +271,7 @@ class UILoadManage(val full: UILoadSavegame) : UICanvas() { it.mapIndexed { index, s -> "${(index+1).toString().padStart(it.size.fastLen())}. $s" } } ?: listOf("$EMDASH") loadOrderWorld = - App.savegameWorlds[full.playerButtonSelected!!.worldUUID]!!.files[selectedRevision].getFile( + App.savegameWorlds[full.playerButtonSelected!!.worldUUID]?.files?.get(selectedRevision)?.getFile( // it's null for freshly-imported avatars VDFileID.LOADORDER )?.getContent()?.toByteArray()?.toString(Common.CHARSET)?.split('\n')?.let { it.mapIndexed { index, s -> "${(index+1).toString().padStart(it.size.fastLen())}. $s" }