mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 20:31:51 +09:00
zooming properly with z key (with some async artefacts)
This commit is contained in:
63
src/net/torvald/terrarum/CustomSymbol.kt
Normal file
63
src/net/torvald/terrarum/CustomSymbol.kt
Normal file
@@ -0,0 +1,63 @@
|
||||
package net.torvald.terrarum
|
||||
|
||||
import com.badlogic.gdx.Input
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 2019-08-11.
|
||||
*/
|
||||
|
||||
private val keyToIcon = hashMapOf(
|
||||
Input.Keys.NUM_0 to 0xE010.toChar(),
|
||||
Input.Keys.NUM_1 to 0xE011.toChar(),
|
||||
Input.Keys.NUM_2 to 0xE012.toChar(),
|
||||
Input.Keys.NUM_3 to 0xE013.toChar(),
|
||||
Input.Keys.NUM_4 to 0xE014.toChar(),
|
||||
Input.Keys.NUM_5 to 0xE015.toChar(),
|
||||
Input.Keys.NUM_6 to 0xE016.toChar(),
|
||||
Input.Keys.NUM_7 to 0xE017.toChar(),
|
||||
Input.Keys.NUM_8 to 0xE018.toChar(),
|
||||
Input.Keys.NUM_9 to 0xE019.toChar(),
|
||||
|
||||
Input.Keys.A to 0xE021.toChar(),
|
||||
Input.Keys.B to 0xE022.toChar(),
|
||||
Input.Keys.C to 0xE023.toChar(),
|
||||
Input.Keys.D to 0xE024.toChar(),
|
||||
Input.Keys.E to 0xE025.toChar(),
|
||||
Input.Keys.F to 0xE026.toChar(),
|
||||
Input.Keys.G to 0xE027.toChar(),
|
||||
Input.Keys.H to 0xE028.toChar(),
|
||||
Input.Keys.I to 0xE029.toChar(),
|
||||
Input.Keys.J to 0xE02A.toChar(),
|
||||
Input.Keys.K to 0xE02B.toChar(),
|
||||
Input.Keys.L to 0xE02C.toChar(),
|
||||
Input.Keys.M to 0xE02D.toChar(),
|
||||
|
||||
Input.Keys.N to 0xE02E.toChar(),
|
||||
Input.Keys.O to 0xE02E.toChar(),
|
||||
Input.Keys.P to 0xE030.toChar(),
|
||||
Input.Keys.Q to 0xE031.toChar(),
|
||||
Input.Keys.R to 0xE032.toChar(),
|
||||
Input.Keys.S to 0xE033.toChar(),
|
||||
Input.Keys.T to 0xE034.toChar(),
|
||||
Input.Keys.U to 0xE035.toChar(),
|
||||
Input.Keys.V to 0xE036.toChar(),
|
||||
Input.Keys.W to 0xE037.toChar(),
|
||||
Input.Keys.X to 0xE038.toChar(),
|
||||
Input.Keys.Y to 0xE039.toChar(),
|
||||
Input.Keys.Z to 0xE03A.toChar()
|
||||
)
|
||||
|
||||
fun keyToIcon(key: Int) = keyToIcon[key]!!
|
||||
|
||||
const val F1 = "${0xE090.toChar()}${0xE091.toChar()}"
|
||||
const val F2 = "${0xE090.toChar()}${0xE092.toChar()}"
|
||||
const val F3 = "${0xE090.toChar()}${0xE093.toChar()}"
|
||||
const val F4 = "${0xE090.toChar()}${0xE094.toChar()}"
|
||||
const val F5 = "${0xE090.toChar()}${0xE095.toChar()}"
|
||||
const val F6 = "${0xE090.toChar()}${0xE096.toChar()}"
|
||||
const val F7 = "${0xE090.toChar()}${0xE097.toChar()}"
|
||||
const val F8 = "${0xE090.toChar()}${0xE098.toChar()}"
|
||||
const val F9 = "${0xE090.toChar()}${0xE099.toChar()}"
|
||||
const val F10 = "${0xE09D.toChar()}${0xE09A.toChar()}"
|
||||
const val F11 = "${0xE09D.toChar()}${0xE09B.toChar()}"
|
||||
const val F12 = "${0xE09D.toChar()}${0xE09C.toChar()}"
|
||||
@@ -21,7 +21,7 @@ object CommandDict {
|
||||
"togglenoclip" to ToggleNoClip,
|
||||
"nc" to ToggleNoClip,
|
||||
"setlocale" to SetLocale,
|
||||
"zoom" to Zoom,
|
||||
//"zoom" to Zoom,
|
||||
"teleport" to Teleport,
|
||||
"tp" to Teleport,
|
||||
"cat" to CatStdout,
|
||||
|
||||
@@ -132,6 +132,7 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
|
||||
private lateinit var uiBasicInfo: UICanvas
|
||||
private lateinit var uiWatchTierOne: UICanvas
|
||||
|
||||
/** For in-world text overlays? e.g. cursor on the ore block and tooltip will say "Malachite" or something */
|
||||
private lateinit var uiTooltip: UITooltip
|
||||
|
||||
lateinit var uiCheatMotherfuckerNootNoot: UICheatDetected
|
||||
@@ -370,6 +371,7 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
|
||||
uiQuickBar,
|
||||
uiBasicInfo,
|
||||
uiWatchTierOne,
|
||||
UIScreenZoom(),
|
||||
uiTooltip
|
||||
// drawn last
|
||||
)
|
||||
|
||||
66
src/net/torvald/terrarum/modulebasegame/ui/UIScreenZoom.kt
Normal file
66
src/net/torvald/terrarum/modulebasegame/ui/UIScreenZoom.kt
Normal file
@@ -0,0 +1,66 @@
|
||||
package net.torvald.terrarum.modulebasegame.ui
|
||||
|
||||
import com.badlogic.gdx.graphics.Camera
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||
import net.torvald.EMDASH
|
||||
import net.torvald.terrarum.AppLoader
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.keyToIcon
|
||||
import net.torvald.terrarum.ui.Movement
|
||||
import net.torvald.terrarum.ui.UICanvas
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 2019-08-11.
|
||||
*/
|
||||
class UIScreenZoom : UICanvas(
|
||||
AppLoader.getConfigInt("keyzoom")
|
||||
) {
|
||||
|
||||
val zoomText = "${keyToIcon(handler.toggleKeyLiteral!!)} $EMDASH Zoom Out"
|
||||
|
||||
override var width = AppLoader.fontGame.getWidth(zoomText)
|
||||
override var height = AppLoader.fontGame.lineHeight.toInt()
|
||||
|
||||
override var openCloseTime = 0.3f
|
||||
|
||||
override val mouseUp = false
|
||||
|
||||
private val zoomMin = 1f
|
||||
private val zoomMax = 2f
|
||||
|
||||
override fun updateUI(delta: Float) {
|
||||
}
|
||||
|
||||
override fun renderUI(batch: SpriteBatch, camera: Camera) {
|
||||
batch.color = handler.opacityColour
|
||||
|
||||
AppLoader.fontGame.draw(
|
||||
batch, zoomText,
|
||||
(AppLoader.screenW * AppLoader.TV_SAFE_GRAPHICS + 1).toInt().toFloat(),
|
||||
(AppLoader.screenH - height - AppLoader.getTvSafeGraphicsHeight()).toFloat()
|
||||
)
|
||||
}
|
||||
|
||||
override fun dispose() {
|
||||
}
|
||||
|
||||
override fun doOpening(delta: Float) {
|
||||
Terrarum.ingame?.screenZoom = Movement.fastPullOut(handler.openCloseCounter / openCloseTime, zoomMin, zoomMax)
|
||||
handler.opacity = Terrarum.ingame?.screenZoom!! - zoomMin
|
||||
}
|
||||
|
||||
override fun doClosing(delta: Float) {
|
||||
Terrarum.ingame?.screenZoom = Movement.fastPullOut(handler.openCloseCounter / openCloseTime, zoomMax, zoomMin)
|
||||
handler.opacity = Terrarum.ingame?.screenZoom!! - zoomMin
|
||||
}
|
||||
|
||||
override fun endOpening(delta: Float) {
|
||||
Terrarum.ingame?.screenZoom = zoomMax
|
||||
handler.opacity = 1f
|
||||
}
|
||||
|
||||
override fun endClosing(delta: Float) {
|
||||
Terrarum.ingame?.screenZoom = zoomMin
|
||||
handler.opacity = 0f
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user