diff --git a/assets/mods/basegame/gui/backdrop01.tga b/assets/mods/basegame/gui/backdrop01.tga new file mode 100644 index 000000000..d77c21014 --- /dev/null +++ b/assets/mods/basegame/gui/backdrop01.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b75afa59c6b8b9632fb400f85f55a165927a79300927241e5e73362c609bae9a +size 5618 diff --git a/src/net/torvald/terrarum/App.java b/src/net/torvald/terrarum/App.java index cecddc6b7..824520ca5 100644 --- a/src/net/torvald/terrarum/App.java +++ b/src/net/torvald/terrarum/App.java @@ -242,7 +242,7 @@ public class App implements ApplicationListener { public static AudioDevice audioDevice; public static FlippingSpriteBatch batch; - public static ShapeRenderer shapeRender; +// public static ShapeRenderer shapeRender; private static com.badlogic.gdx.graphics.Color gradWhiteTop = new com.badlogic.gdx.graphics.Color(0xf8f8f8ff); private static com.badlogic.gdx.graphics.Color gradWhiteBottom = new com.badlogic.gdx.graphics.Color(0xd8d8d8ff); @@ -446,7 +446,7 @@ public class App implements ApplicationListener { camera = new OrthographicCamera((scr.getWf()), (scr.getHf())); batch = new FlippingSpriteBatch(); - shapeRender = makeShapeRenderer(); +// shapeRender = makeShapeRenderer(); initViewPort(scr.getWidth(), scr.getHeight()); @@ -855,7 +855,7 @@ public class App implements ApplicationListener { fullscreenQuad.dispose(); logoBatch.dispose(); batch.dispose(); - shapeRender.dispose(); +// shapeRender.dispose(); fontGame.dispose(); fontGameFBO.dispose(); diff --git a/src/net/torvald/terrarum/Terrarum.kt b/src/net/torvald/terrarum/Terrarum.kt index 8a9346051..2af728364 100644 --- a/src/net/torvald/terrarum/Terrarum.kt +++ b/src/net/torvald/terrarum/Terrarum.kt @@ -62,11 +62,11 @@ object Terrarum : Disposable { */ const val PLAYER_REF_ID: Int = 0x91A7E2 - inline fun inShapeRenderer(shapeRendererType: ShapeRenderer.ShapeType = ShapeRenderer.ShapeType.Filled, action: (ShapeRenderer) -> Unit) { + /*inline fun inShapeRenderer(shapeRendererType: ShapeRenderer.ShapeType = ShapeRenderer.ShapeType.Filled, action: (ShapeRenderer) -> Unit) { shapeRender.begin(shapeRendererType) action(shapeRender) shapeRender.end() - } + }*/ var blockCodex = BlockCodex(); internal set diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestBall.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestBall.kt index 3b7750415..bd59a92a8 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestBall.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestBall.kt @@ -25,7 +25,7 @@ class PhysTestBall : ActorWithBody(RenderOrder.MIDDLE, PhysProperties.PHYSICS_OB } override fun drawBody(batch: SpriteBatch) { - Terrarum.inShapeRenderer { + /*Terrarum.inShapeRenderer { it.color = color it.circle( hitbox.startX.toFloat() - 1f, @@ -44,7 +44,7 @@ class PhysTestBall : ActorWithBody(RenderOrder.MIDDLE, PhysProperties.PHYSICS_OB hitbox.startY.toFloat() - 1f, hitbox.width.toFloat() ) - } + }*/ //println(moveDelta) } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt index a2e3a6030..812884c43 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt @@ -12,6 +12,7 @@ import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid import net.torvald.terrarum.ui.Toolkit import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.ui.UIItemHorizontalFadeSlide +import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack import net.torvald.unicode.* /** @@ -31,8 +32,20 @@ class UIInventoryFull( override var height: Int = App.scr.height companion object { - private var shapeRenderer: ShapeRenderer? = null +// private var shapeRenderer: ShapeRenderer? = null + private val backDropsLoaded = Array(16) { false } + private val backdrop01: TextureRegionPack + get() { + if (!backDropsLoaded[0]) { + CommonResourcePool.addToLoadingList("basegame.uibackdrop01") { + TextureRegionPack(ModMgr.getGdxFile("basegame", "gui/backdrop01.tga"), 2, 140) + } + CommonResourcePool.loadAll() + backDropsLoaded[0] = true + } + return CommonResourcePool.getAsTextureRegionPack("basegame.uibackdrop01") + } val CELL_COL = Toolkit.Theme.COL_CELL_FILL @@ -73,8 +86,8 @@ class UIInventoryFull( private val gend = Color(gradEndCol) fun drawBackground(batch: SpriteBatch, opacity: Float) { - batch.end() gdxBlendNormalStraightAlpha() + /*batch.end() if (shapeRenderer == null) { shapeRenderer = App.makeShapeRenderer() @@ -104,7 +117,22 @@ class UIInventoryFull( it.rect(0f, h, w, -(h - gradBottomEnd), gsta, gsta, gsta, gsta) } - batch.begin() + batch.begin()*/ + batch.color = Color.WHITE + val w = App.scr.wf + val h = App.scr.hf + val gradTopStart = (-YPOS_CORRECTION + (App.scr.height - internalHeight).div(2).toFloat()) * App.scr.magn + + val hTop = gradTopStart + val hTopRem = hTop - 64f + + val hMid = h - 2 * (hTopRem + 140f) + batch.draw(backdrop01.get(0, 0), 0f, 0f, w, hTopRem) + batch.draw(backdrop01.get(0, 1), 0f, hTopRem, w, 140f) + batch.draw(backdrop01.get(0, 2), 0f, hTopRem + 140f, w, hMid) + batch.draw(backdrop01.get(0, 3), 0f, hTopRem + 140f + hMid, w, 140f) + batch.draw(backdrop01.get(0, 4), 0f, hTopRem + 280f + hMid, w, hTopRem) + } } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortal.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortal.kt index b2cd09339..29f80b44a 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortal.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortal.kt @@ -48,7 +48,7 @@ class UIWorldPortal : UICanvas( "$SP${App.gamepadLabelRT} ${Lang["GAME_INVENTORY"]}" -// val transitionalSearch = UIWorldPortalSearch(this) + val transitionalSearch = UIWorldPortalSearch(this) val transitionalListing = UIWorldPortalListing(this) // val transitionalCargo = UIWorldPortalCargo(this) private val transitionPanel = UIItemHorizontalFadeSlide( @@ -58,9 +58,16 @@ class UIWorldPortal : UICanvas( width, App.scr.height, 0f, - transitionalListing + transitionalListing, transitionalSearch ) + /** + * Called by: + * - "Search" button on UIWorldPortalListing + * - "Cancel" button on UIWorldPortalSearch + */ + fun requestTransition(target: Int) = transitionPanel.requestTransition(target) + init { addUIitem(transitionPanel) @@ -87,6 +94,7 @@ class UIWorldPortal : UICanvas( override fun show() { super.show() + transitionPanel.forcePosition(0) transitionPanel.show() INGAME.setTooltipMessage(null) } @@ -99,13 +107,8 @@ class UIWorldPortal : UICanvas( transitionPanel.dispose() } - fun resetUI() { - - } - override fun doOpening(delta: Float) { super.doOpening(delta) - resetUI() transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) } INGAME.pause() INGAME.setTooltipMessage(null) @@ -127,7 +130,6 @@ class UIWorldPortal : UICanvas( override fun endClosing(delta: Float) { super.endClosing(delta) - resetUI() transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) } UIItemInventoryItemGrid.tooltipShowing.clear() INGAME.setTooltipMessage(null) // required! diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalListing.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalListing.kt index 09b16f12a..59c25b055 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalListing.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalListing.kt @@ -66,7 +66,11 @@ class UIWorldPortalListing(val full: UIWorldPortal) : UICanvas() { readFromLang = true, hasBorder = true, alignment = UIItemTextButton.Companion.Alignment.CENTRE - ) + ).also { + it.clickOnceListener = { _,_ -> + full.requestTransition(1) + } + } private val buttonTeleport = UIItemTextButton(this, "GAME_ACTION_TELEPORT", hx - gridGap/2 - deleteButtonWidth, diff --git a/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt b/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt index 6d02adfb1..74c0e27bd 100644 --- a/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt +++ b/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt @@ -377,7 +377,7 @@ class BasicDebugInfoWindow : UICanvas() { blendNormalStraightAlpha(batch) - batch.end() + /*batch.end() gdxBlendNormalStraightAlpha() Terrarum.inShapeRenderer { it.color = uiColour @@ -388,7 +388,7 @@ class BasicDebugInfoWindow : UICanvas() { it.line(uiX + halfW, App.scr.height - (uiY + halfH), uiX + halfW + pointDX, App.scr.height - (uiY + halfH + pointDY)) it.color = Color.GRAY } - batch.begin() + batch.begin()*/ App.fontSmallNumbers.draw(batch, gamepad.getName(), Toolkit.drawWidth - (gamepad.getName().length + 2f) * TinyAlphNum.W, uiY.toFloat() + h + 2)