From a3ecd4a4f4d3cafe74b4a142dcc3f784d06fc879 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sun, 28 May 2023 01:47:17 +0900 Subject: [PATCH] some adjustments for the quickslot and pie --- assets/graphics/gui/quickbar/item_slots_atlas2.tga | 4 ++-- .../terrarum/modulebasegame/ui/ItemSlotImageFactory.kt | 5 +++-- .../torvald/terrarum/modulebasegame/ui/UIQuickslotBar.kt | 5 +++-- .../torvald/terrarum/modulebasegame/ui/UIQuickslotPie.kt | 7 ++++--- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/assets/graphics/gui/quickbar/item_slots_atlas2.tga b/assets/graphics/gui/quickbar/item_slots_atlas2.tga index cc90e57dc..e10d35286 100644 --- a/assets/graphics/gui/quickbar/item_slots_atlas2.tga +++ b/assets/graphics/gui/quickbar/item_slots_atlas2.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea29b15866918c4e60562806c615470a65bede3e040596657843dc03cc72f518 -size 561810 +oid sha256:8d36954c70c88a692dc8b462bc983bab13d5b41ed33d128642196c769206209c +size 702258 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/ItemSlotImageFactory.kt b/src/net/torvald/terrarum/modulebasegame/ui/ItemSlotImageFactory.kt index 3db6aed96..4a3423067 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/ItemSlotImageFactory.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/ItemSlotImageFactory.kt @@ -33,8 +33,9 @@ object ItemSlotImageFactory { return ItemSlotImage(slotImage.get(number, 0 or isBlack.toInt().shl(1)), ItemCodex.getItemImage(item)) } - fun produceLarge(isBlack: Boolean, number: Int = 10, item: GameItem?): ItemSlotImage { - return ItemSlotImage(slotImage.get(number, 1 or isBlack.toInt().shl(1)), ItemCodex.getItemImage(item)) + fun produceLarge(isBlack: Boolean, number: Int = 10, item: GameItem?, hasGauge: Boolean): ItemSlotImage { + val y = if (hasGauge && isBlack) 9 else if (hasGauge && !isBlack) 8 else if (!hasGauge && isBlack) 3 else 1 + return ItemSlotImage(slotImage.get(number, y), ItemCodex.getItemImage(item)) } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotBar.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotBar.kt index 1968ca3b2..1900a3cb4 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotBar.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotBar.kt @@ -37,7 +37,7 @@ class UIQuickslotBar : UICanvas() { companion object { const val SLOT_COUNT = 10 - const val DISPLAY_OPACITY = 0.8f + const val DISPLAY_OPACITY = 0.92f const val COMMON_OPEN_CLOSE = 0.12f } @@ -85,9 +85,10 @@ class UIQuickslotBar : UICanvas() { for (i in 0 until SLOT_COUNT) { val qs = actor.inventory.getQuickslotItem(i) val item = ItemCodex[qs?.itm] + val itemHasGauge = ((item?.maxDurability ?: 0) > 0.0) || item?.stackable == true val image = if (i == selection) - ItemSlotImageFactory.produceLarge(false, (i + 1) % SLOT_COUNT, item) + ItemSlotImageFactory.produceLarge(false, (i + 1) % SLOT_COUNT, item, itemHasGauge) else ItemSlotImageFactory.produce(true, (i + 1) % SLOT_COUNT, item) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotPie.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotPie.kt index ba3af4ede..64e700946 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotPie.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotPie.kt @@ -26,7 +26,7 @@ class UIQuickslotPie : UICanvas() { private val slotCount = UIQuickslotBar.SLOT_COUNT private val slotDistanceFromCentre: Double - get() = cellSize * 2.5 * handler.scale + get() = cellSize * 2.666 * handler.scale override var width: Int = cellSize * 7 override var height: Int = width @@ -36,7 +36,7 @@ class UIQuickslotPie : UICanvas() { */ override var openCloseTime: Second = COMMON_OPEN_CLOSE - private val smallenSize = 0.93f + private val smallenSize = 0.92f var selection: Int = -1 @@ -66,6 +66,7 @@ class UIQuickslotPie : UICanvas() { for (i in 0 until slotCount) { val qs = (Terrarum.ingame!! as TerrarumIngame).actorNowPlaying?.inventory?.getQuickslotItem(i) val item = ItemCodex[qs?.itm] + val itemHasGauge = ((item?.maxDurability ?: 0) > 0.0) || item?.stackable == true // set position val angle = Math.PI * 2.0 * (i.toDouble() / slotCount) + Math.PI // 180 deg monitor-wise @@ -73,7 +74,7 @@ class UIQuickslotPie : UICanvas() { // draw cells val image = if (i == selection) - ItemSlotImageFactory.produceLarge(false, (i + 1) % SLOT_COUNT, item) + ItemSlotImageFactory.produceLarge(false, (i + 1) % SLOT_COUNT, item, itemHasGauge) else ItemSlotImageFactory.produce(true, (i + 1) % SLOT_COUNT, item)