diff --git a/assets/graphics/gui/quickbar/item_slot.tga b/assets/graphics/gui/quickbar/item_slot.tga deleted file mode 100644 index a8d4d0c71..000000000 --- a/assets/graphics/gui/quickbar/item_slot.tga +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:61ea0369e5152797fb9ac8a310781b1701b75df405af02351f95f21f0d462ecf -size 63580 diff --git a/assets/graphics/gui/quickbar/item_slot_large.tga b/assets/graphics/gui/quickbar/item_slot_large.tga deleted file mode 100644 index 4f1b55167..000000000 --- a/assets/graphics/gui/quickbar/item_slot_large.tga +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3128102ac06826fbee0cfbc2c6b8191844e99aa843a228534ed924185422f46b -size 63580 diff --git a/assets/graphics/gui/quickbar/item_slots_atlas.tga b/assets/graphics/gui/quickbar/item_slots_atlas.tga new file mode 100644 index 000000000..42c12ac45 --- /dev/null +++ b/assets/graphics/gui/quickbar/item_slots_atlas.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6cb5b9d50036d4d21f4d082b935b5bca7cf76032a424ac5713df3c825740224 +size 254188 diff --git a/src/net/torvald/terrarum/ui/ItemSlotImageBuilder.kt b/src/net/torvald/terrarum/ui/ItemSlotImageBuilder.kt index 6f8ce2507..c51fa4b87 100644 --- a/src/net/torvald/terrarum/ui/ItemSlotImageBuilder.kt +++ b/src/net/torvald/terrarum/ui/ItemSlotImageBuilder.kt @@ -22,25 +22,23 @@ object ItemSlotImageBuilder { val colourBlack = Color(0x404040_FF) val colourWhite = Color(0xC0C0C0_FF.toInt()) - val slotImage = TextureRegionPack(Gdx.files.internal("./assets/graphics/gui/quickbar/item_slot.tga"), 38, 38) // must have same w/h as slotLarge - val slotLarge = TextureRegionPack(Gdx.files.internal("./assets/graphics/gui/quickbar/item_slot_large.tga"), 38, 38) + val slotImage = TextureRegionPack(Gdx.files.internal("./assets/graphics/gui/quickbar/item_slots_atlas.tga"), 38, 38) // must have same w/h as slotLarge private val imageDict = HashMap() fun produce(isBlack: Boolean, number: Int = 10): TextureRegion { - return slotImage.get(number, 0) + return slotImage.get(number, 0 or isBlack.toInt().shl(1)) } fun produceLarge(isBlack: Boolean, number: Int = 10): TextureRegion { - return slotLarge.get(number, 0) + return slotImage.get(number, 1 or isBlack.toInt().shl(1)) } fun dispose() { slotImage.dispose() - slotLarge.dispose() } } \ No newline at end of file diff --git a/src/net/torvald/terrarum/ui/UIPieMenu.kt b/src/net/torvald/terrarum/ui/UIPieMenu.kt index 9d5743d68..ca95f1f31 100644 --- a/src/net/torvald/terrarum/ui/UIPieMenu.kt +++ b/src/net/torvald/terrarum/ui/UIPieMenu.kt @@ -8,6 +8,7 @@ import net.torvald.terrarum.gameactors.AVKey import net.torvald.terrarum.gameactors.Second import net.torvald.terrarum.itemproperties.ItemCodex import net.torvald.terrarum.ui.UIQuickBar.Companion.CELL_SIZE +import net.torvald.terrarum.ui.UIQuickBar.Companion.SLOT_COUNT import org.dyn4j.geometry.Vector2 /** @@ -46,7 +47,7 @@ class UIPieMenu : UICanvas() { val deg = -(centre - cursorPos).direction.toFloat() selection = Math.round(deg * slotCount / FastMath.TWO_PI) - if (selection < 0) selection += 10 + if (selection < 0) selection += SLOT_COUNT // TODO add gamepad support } @@ -61,9 +62,9 @@ class UIPieMenu : UICanvas() { // draw cells val image = if (i == selection) - ItemSlotImageBuilder.produceLarge(false, i + 1) + ItemSlotImageBuilder.produceLarge(false, (i + 1) % SLOT_COUNT) else - ItemSlotImageBuilder.produce(true, i + 1) + ItemSlotImageBuilder.produce(true, (i + 1) % SLOT_COUNT) val slotSize = image.regionWidth diff --git a/src/net/torvald/terrarum/ui/UIQuickBar.kt b/src/net/torvald/terrarum/ui/UIQuickBar.kt index fd369065f..f2faee308 100644 --- a/src/net/torvald/terrarum/ui/UIQuickBar.kt +++ b/src/net/torvald/terrarum/ui/UIQuickBar.kt @@ -21,8 +21,8 @@ class UIQuickBar : UICanvas() { */ override var openCloseTime: Second = 0.16f - private val startPointX = ItemSlotImageBuilder.slotLarge.tileW / 2 - private val startPointY = ItemSlotImageBuilder.slotLarge.tileH / 2 + private val startPointX = ItemSlotImageBuilder.slotImage.tileW / 2 + private val startPointY = ItemSlotImageBuilder.slotImage.tileH / 2 private var selection: Int get() = Terrarum.ingame!!.player.actorValue.getAsInt(AVKey.__PLAYER_QUICKSLOTSEL) ?: 0 @@ -35,9 +35,9 @@ class UIQuickBar : UICanvas() { for (i in 0..SLOT_COUNT - 1) { val image = if (i == selection) - ItemSlotImageBuilder.produceLarge(false, i + 1) + ItemSlotImageBuilder.produceLarge(false, (i + 1) % SLOT_COUNT) else - ItemSlotImageBuilder.produce(true, i + 1) + ItemSlotImageBuilder.produce(true, (i + 1) % SLOT_COUNT) val slotX = startPointX + (CELL_SIZE + gutter).times(i).toFloat() val slotY = startPointY.toFloat()