mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-18 14:34:04 +09:00
adding extra headroom to the assembled sprite so that a large held item wouldn't get cropped
This commit is contained in:
@@ -21,7 +21,7 @@ class ItemStorageChest(originalID: ItemID) : FixtureItemBase(originalID, "net.to
|
|||||||
override val isDynamic = false
|
override val isDynamic = false
|
||||||
override val material = Material()
|
override val material = Material()
|
||||||
override val itemImage: TextureRegion
|
override val itemImage: TextureRegion
|
||||||
get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_32")
|
get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_48")
|
||||||
override var baseToolSize: Double? = baseMass
|
override var baseToolSize: Double? = baseMass
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ import net.torvald.terrarum.savegame.EntryFile
|
|||||||
import net.torvald.terrarum.serialise.Common
|
import net.torvald.terrarum.serialise.Common
|
||||||
import net.torvald.terrarum.serialise.LoadSavegame
|
import net.torvald.terrarum.serialise.LoadSavegame
|
||||||
import net.torvald.terrarum.serialise.ReadPlayer
|
import net.torvald.terrarum.serialise.ReadPlayer
|
||||||
|
import net.torvald.terrarum.spriteassembler.ADProperties.Companion.EXTRA_HEADROOM_X
|
||||||
|
import net.torvald.terrarum.spriteassembler.ADProperties.Companion.EXTRA_HEADROOM_Y
|
||||||
import net.torvald.terrarum.ui.Movement
|
import net.torvald.terrarum.ui.Movement
|
||||||
import net.torvald.terrarum.ui.Toolkit
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
import net.torvald.terrarum.ui.UICanvas
|
import net.torvald.terrarum.ui.UICanvas
|
||||||
@@ -602,7 +604,10 @@ class UIItemPlayerCells(
|
|||||||
// player avatar
|
// player avatar
|
||||||
batch.color = Color.WHITE
|
batch.color = Color.WHITE
|
||||||
thumb?.let {
|
thumb?.let {
|
||||||
batch.draw(it, x + FastMath.ceil((106f - it.regionWidth) / 2f), y + FastMath.ceil((height - it.regionHeight) / 2f))
|
batch.draw(it,
|
||||||
|
x + FastMath.ceil((106f - it.regionWidth) / 2f) + EXTRA_HEADROOM_X / 2,
|
||||||
|
y + FastMath.ceil((height - it.regionHeight) / 2f) - EXTRA_HEADROOM_Y / 2
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -76,6 +76,8 @@ class ADProperties {
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val ALL_JOINT_SELECT_KEY = "ALL"
|
const val ALL_JOINT_SELECT_KEY = "ALL"
|
||||||
|
const val EXTRA_HEADROOM_X = 32
|
||||||
|
const val EXTRA_HEADROOM_Y = 16
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(gdxFile: FileHandle) {
|
constructor(gdxFile: FileHandle) {
|
||||||
@@ -118,8 +120,8 @@ class ADProperties {
|
|||||||
baseFilename = get("SPRITESHEET")[0].name
|
baseFilename = get("SPRITESHEET")[0].name
|
||||||
extension = get("EXTENSION")[0].name
|
extension = get("EXTENSION")[0].name
|
||||||
val frameSizeVec = get("CONFIG").linearSearchBy { it.name == "SIZE" }!!.input as ADPropertyObject.Vector2i
|
val frameSizeVec = get("CONFIG").linearSearchBy { it.name == "SIZE" }!!.input as ADPropertyObject.Vector2i
|
||||||
frameWidth = frameSizeVec.x
|
frameWidth = frameSizeVec.x + EXTRA_HEADROOM_X
|
||||||
frameHeight = frameSizeVec.y
|
frameHeight = frameSizeVec.y + EXTRA_HEADROOM_Y
|
||||||
originX = (get("CONFIG").linearSearchBy { it.name == "ORIGINX" }!!.input as Float).toInt()
|
originX = (get("CONFIG").linearSearchBy { it.name == "ORIGINX" }!!.input as Float).toInt()
|
||||||
|
|
||||||
var maxColFinder = -1
|
var maxColFinder = -1
|
||||||
|
|||||||
@@ -52,11 +52,11 @@ object AssembleSheetPixmap {
|
|||||||
|
|
||||||
|
|
||||||
private fun drawAndGetCanvas(properties: ADProperties, fileGetter: (String) -> InputStream?, injectedItem: GameItem?): Pixmap {
|
private fun drawAndGetCanvas(properties: ADProperties, fileGetter: (String) -> InputStream?, injectedItem: GameItem?): Pixmap {
|
||||||
val canvas = Pixmap(properties.cols * properties.frameWidth, properties.rows * properties.frameHeight, Pixmap.Format.RGBA8888)
|
val canvas = Pixmap(properties.cols * (properties.frameWidth), properties.rows * (properties.frameHeight), Pixmap.Format.RGBA8888)
|
||||||
canvas.blending = Pixmap.Blending.SourceOver
|
canvas.blending = Pixmap.Blending.SourceOver
|
||||||
|
|
||||||
// actually draw
|
// actually draw
|
||||||
properties.transforms.forEach { t, _ ->
|
properties.transforms.forEach { (t, _) ->
|
||||||
drawThisFrame(t, canvas, properties, fileGetter, injectedItem)
|
drawThisFrame(t, canvas, properties, fileGetter, injectedItem)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user