From 7ca4d03cf8b8cf97cdefdbc90257d8773c645779 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Tue, 4 Jul 2017 01:27:18 +0900 Subject: [PATCH] barely managed to fix inventory UI --- .../fonts/terrarum-sans-bitmap/futhark.tga | 2 +- lib/TerrarumSansBitmap.jar | Bin 54306 -> 54246 bytes src/net/torvald/terrarum/ModMgr.kt | 1 - src/net/torvald/terrarum/StateInGameGDX.kt | 1 + src/net/torvald/terrarum/TerrarumGDX.kt | 6 ++++++ .../torvald/terrarum/UIItemInventoryElem.kt | 12 ++++++++++-- .../terrarum/itemproperties/GameItem.kt | 6 ++++-- .../terrarum/itemproperties/ItemCodex.kt | 2 +- src/net/torvald/terrarum/ui/UIInventory.kt | 12 ++++++------ .../terrarum/ui/UIItemTextButtonList.kt | 2 +- work_files/graphics/fonts/futhark.psd | 4 ++-- 11 files changed, 32 insertions(+), 16 deletions(-) diff --git a/assets/graphics/fonts/terrarum-sans-bitmap/futhark.tga b/assets/graphics/fonts/terrarum-sans-bitmap/futhark.tga index 797a28e99..7aeece46d 100644 --- a/assets/graphics/fonts/terrarum-sans-bitmap/futhark.tga +++ b/assets/graphics/fonts/terrarum-sans-bitmap/futhark.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b9b03aad1a550411c508a721456fdfccf18365b1d02f6aabf104c7e948c6753 +oid sha256:f7fef0785183c24f2a52ef0a2aca5737da5ed14805b4dd7ab5c8a241b2e01f69 size 69164 diff --git a/lib/TerrarumSansBitmap.jar b/lib/TerrarumSansBitmap.jar index 68e2cc56cda1934a21da70069990bb8ab1619fcf..d9efad0a23785905fda2f07d27cf3e7c9d5f9b88 100644 GIT binary patch delta 19162 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 S%6`y6GCKRV!}K~gbN>OFzYX{R diff --git a/src/net/torvald/terrarum/ModMgr.kt b/src/net/torvald/terrarum/ModMgr.kt index 50ec89895..f9b19c0f2 100644 --- a/src/net/torvald/terrarum/ModMgr.kt +++ b/src/net/torvald/terrarum/ModMgr.kt @@ -165,7 +165,6 @@ object ModMgr { val langPath = "locales/" @JvmStatic operator fun invoke(module: String) { - println("arstneitars") Lang.load(getPath(module, langPath)) } } diff --git a/src/net/torvald/terrarum/StateInGameGDX.kt b/src/net/torvald/terrarum/StateInGameGDX.kt index d6ff1fef7..0e5061a78 100644 --- a/src/net/torvald/terrarum/StateInGameGDX.kt +++ b/src/net/torvald/terrarum/StateInGameGDX.kt @@ -145,6 +145,7 @@ class StateInGameGDX(val batch: SpriteBatch) : Screen { fun enter() { + Gdx.input.inputProcessor = GameController diff --git a/src/net/torvald/terrarum/TerrarumGDX.kt b/src/net/torvald/terrarum/TerrarumGDX.kt index aa6d59c1d..2acbf3908 100644 --- a/src/net/torvald/terrarum/TerrarumGDX.kt +++ b/src/net/torvald/terrarum/TerrarumGDX.kt @@ -17,9 +17,11 @@ import com.badlogic.gdx.graphics.glutils.FrameBuffer import com.badlogic.gdx.graphics.glutils.ShapeRenderer import com.google.gson.JsonArray import com.google.gson.JsonPrimitive +import net.torvald.terrarum.blockproperties.BlockCodex import net.torvald.terrarum.gameactors.ActorWithPhysics.Companion.TILE_SIZE import net.torvald.terrarum.gamecontroller.GameController import net.torvald.terrarum.imagefont.TinyAlphNum +import net.torvald.terrarum.itemproperties.ItemCodex import net.torvald.terrarum.utils.JsonFetcher import net.torvald.terrarum.utils.JsonWriter import net.torvald.terrarum.worlddrawer.RGB10 @@ -287,6 +289,10 @@ object TerrarumGDX : ApplicationAdapter() { fontSmallNumbers = TinyAlphNum + ModMgr // invoke Module Manager, will also invoke BlockCodex + ItemCodex // invoke Item Codex + + ingame = StateInGameGDX(batch) diff --git a/src/net/torvald/terrarum/UIItemInventoryElem.kt b/src/net/torvald/terrarum/UIItemInventoryElem.kt index 3fbb9fb18..bb91b958e 100644 --- a/src/net/torvald/terrarum/UIItemInventoryElem.kt +++ b/src/net/torvald/terrarum/UIItemInventoryElem.kt @@ -5,6 +5,7 @@ import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.g2d.TextureRegion import net.torvald.colourutil.CIELabUtil.darkerLab +import net.torvald.terrarum.blockproperties.BlockCodex import net.torvald.terrarum.itemproperties.GameItem import net.torvald.terrarum.ui.UIInventory import net.torvald.terrarum.ui.UIItem @@ -49,7 +50,7 @@ class UIItemInventoryElem( private val textOffsetY = 8f - private val durabilityCol = Color(0x22ff11) + private val durabilityCol = Color(0x22ff11_ff) private val durabilityBack: Color; get() = durabilityCol.darkerLab(0.4f) private val durabilityBarOffY = 35f @@ -84,7 +85,10 @@ class UIItemInventoryElem( if (item != null && itemImage != null) { blendNormal() + //println("orgID: ${item!!.originalID}, nameKey: ${BlockCodex[item!!.originalID].nameKey}, itemOrgName: ${item!!.originalName}") + // item image + batch.color = Color.WHITE batch.draw(itemImage, posX + imgOffset, posY + imgOffset) // if mouse is over, text lights up @@ -111,15 +115,19 @@ class UIItemInventoryElem( // quickslot marker (TEMPORARY UNTIL WE GET BETTER DESIGN) + batch.color = Color.WHITE + if (quickslot != null) { val label = quickslot!!.plus(0xE010).toChar() val labelW = TerrarumGDX.fontGame.getWidth("$label") - batch.color = Color.WHITE TerrarumGDX.fontGame.draw(batch, "$label", barOffset + barFullLen - labelW, posY + textOffsetY) } } + // see IFs above? + batch.color = Color.WHITE + } override fun keyDown(keycode: Int): Boolean { diff --git a/src/net/torvald/terrarum/itemproperties/GameItem.kt b/src/net/torvald/terrarum/itemproperties/GameItem.kt index d585a01fa..6fafb9b24 100644 --- a/src/net/torvald/terrarum/itemproperties/GameItem.kt +++ b/src/net/torvald/terrarum/itemproperties/GameItem.kt @@ -31,9 +31,11 @@ abstract class GameItem : Comparable, Cloneable { /** * OriginalName is always read from Language files. */ - abstract protected val originalName: String + abstract val originalName: String - private var newName: String = "I AM VITTUN PLACEHOLDER" + + var newName: String = "I AM VITTUN PLACEHOLDER" + private set var name: String set(value) { diff --git a/src/net/torvald/terrarum/itemproperties/ItemCodex.kt b/src/net/torvald/terrarum/itemproperties/ItemCodex.kt index de8aae710..2be9ce0bb 100644 --- a/src/net/torvald/terrarum/itemproperties/ItemCodex.kt +++ b/src/net/torvald/terrarum/itemproperties/ItemCodex.kt @@ -53,7 +53,7 @@ object ItemCodex { override val material = Material(0,0,0,0,0,0,0,0,0,0.0) init { - + println("[ItemCodex] recording item ID $originalID") } override fun primaryUse(delta: Float): Boolean { diff --git a/src/net/torvald/terrarum/ui/UIInventory.kt b/src/net/torvald/terrarum/ui/UIInventory.kt index 78c9c749c..e2428d1c9 100644 --- a/src/net/torvald/terrarum/ui/UIInventory.kt +++ b/src/net/torvald/terrarum/ui/UIInventory.kt @@ -83,7 +83,7 @@ class UIInventory( iconSpriteSheet = TextureRegionPack("./assets/graphics/gui/inventory/category.tga", 20, 20), iconSpriteSheetIndices = intArrayOf(9,6,7,1,0,2,3,4,5,8), iconCol = defaultTextColour, - highlightBackCol = Color(0xb8b8b8), + highlightBackCol = Color(0xb8b8b8_ff.toInt()), highlightBackBlendMode = BlendMode.MULTIPLY, backgroundCol = Color(0), // will use custom background colour! backgroundBlendMode = BlendMode.NORMAL, @@ -102,9 +102,9 @@ class UIInventory( item = null, amount = UIItemInventoryElem.UNIQUE_ITEM_HAS_NO_AMOUNT, itemImage = null, - mouseoverBackCol = Color(0x282828), + mouseoverBackCol = Color(0x282828_ff), mouseoverBackBlendMode = BlendMode.SCREEN, - backCol = Color(0xd4d4d4), + backCol = Color(0xd4d4d4_ff.toInt()), backBlendMode = BlendMode.MULTIPLY, drawBackOnNull = true, inactiveTextCol = defaultTextColour @@ -167,7 +167,7 @@ class UIInventory( // cat bar background blendMul() - batch.color = Color(0xcccccc) + batch.color = Color(0xcccccc_ff.toInt()) batch.fillRect(0f, 0f, catButtons.width.toFloat(), height.toFloat()) catButtons.render(batch) @@ -196,7 +196,7 @@ class UIInventory( // encumbrance bar background blendMul() - batch.color = Color(0xa0a0a0) + batch.color = Color(0xa0a0a0_ff.toInt()) batch.fillRect( width - 3 - weightBarWidth, height - controlHelpHeight + 3f, @@ -205,7 +205,7 @@ class UIInventory( ) // encumbrance bar blendNormal() - batch.color = if (isEncumbered) Color(0xccff0000.toInt()) else Color(0xcc00ff00.toInt()) + batch.color = if (isEncumbered) Color(0xff0000_cc.toInt()) else Color(0x00ff00_cc.toInt()) batch.fillRect( width - 3 - weightBarWidth, height - controlHelpHeight + 3f, diff --git a/src/net/torvald/terrarum/ui/UIItemTextButtonList.kt b/src/net/torvald/terrarum/ui/UIItemTextButtonList.kt index 1b7d64d37..504916386 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextButtonList.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextButtonList.kt @@ -35,7 +35,7 @@ class UIItemTextButtonList( val highlightCol: Color = Color(0x00f8ff_ff), val highlightBackCol: Color = Color(0xb0b0b0_ff.toInt()), val highlightBackBlendMode: String = BlendMode.MULTIPLY, - val inactiveCol: Color = Color(0xc0c0c0), + val inactiveCol: Color = Color(0xc0c0c0_ff.toInt()), val backgroundCol: Color = Color(0), val backgroundBlendMode: String = BlendMode.NORMAL, val kinematic: Boolean = false diff --git a/work_files/graphics/fonts/futhark.psd b/work_files/graphics/fonts/futhark.psd index 6114d5179..57fd7f54e 100644 --- a/work_files/graphics/fonts/futhark.psd +++ b/work_files/graphics/fonts/futhark.psd @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b0a011d715abc24c22f11db49748180e875d59403d34a079dfb01607fd029033 -size 93879 +oid sha256:b1125b573a6262417e180910abac1fdafa6de1c3e88ef8ea8ea1b92fb6ee61b4 +size 93927