adjusting load order of every item image

This commit is contained in:
minjaesong
2021-12-13 02:52:25 +09:00
parent 63a29df733
commit 1057f40fba
14 changed files with 85 additions and 111 deletions

Binary file not shown.

View File

@@ -882,7 +882,6 @@ public class App implements ApplicationListener {
ModMgr.INSTANCE.invoke(); // invoke Module Manager ModMgr.INSTANCE.invoke(); // invoke Module Manager
TextureRegionPack.Companion.setGlobalFlipY(true);
fontSmallNumbers = TinyAlphNum.INSTANCE; fontSmallNumbers = TinyAlphNum.INSTANCE;
IME.invoke(); IME.invoke();

View File

@@ -28,14 +28,6 @@ class EntryPoint : ModuleEntryPoint() {
printdbg(this, "Hello, world!") printdbg(this, "Hello, world!")
// the order of invocation is important! Material should be the first as blocks and items are depend on it.
ModMgr.GameMaterialLoader.invoke(moduleName)
ModMgr.GameItemLoader.invoke(moduleName)
ModMgr.GameBlockLoader.invoke(moduleName)
ModMgr.GameLanguageLoader.invoke(moduleName)
// load common resources to the AssetsManager // load common resources to the AssetsManager
CommonResourcePool.addToLoadingList("$moduleName.items16") { CommonResourcePool.addToLoadingList("$moduleName.items16") {
TextureRegionPack(ModMgr.getGdxFile(moduleName, "items/items.tga"), 16, 16, flipY = true) TextureRegionPack(ModMgr.getGdxFile(moduleName, "items/items.tga"), 16, 16, flipY = true)
@@ -46,6 +38,17 @@ class EntryPoint : ModuleEntryPoint() {
CommonResourcePool.addToLoadingList("$moduleName.items48") { CommonResourcePool.addToLoadingList("$moduleName.items48") {
TextureRegionPack(ModMgr.getGdxFile(moduleName, "items/items48.tga"), 48, 48, flipY = true) TextureRegionPack(ModMgr.getGdxFile(moduleName, "items/items48.tga"), 48, 48, flipY = true)
} }
CommonResourcePool.addToLoadingList("inventory_category") {
TextureRegionPack("./assets/graphics/gui/inventory/category.tga", 20, 20, flipY = true)
}
CommonResourcePool.loadAll()
// the order of invocation is important! Material should be the first as blocks and items are depend on it.
ModMgr.GameMaterialLoader.invoke(moduleName)
ModMgr.GameItemLoader.invoke(moduleName)
ModMgr.GameBlockLoader.invoke(moduleName)
ModMgr.GameLanguageLoader.invoke(moduleName)
///////////////////////////////// /////////////////////////////////

View File

@@ -1,6 +1,9 @@
package net.torvald.terrarum.modulebasegame.gameactors package net.torvald.terrarum.modulebasegame.gameactors
import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.terrarum.CommonResourcePool import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.ModMgr
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
import net.torvald.terrarum.gameactors.AVKey import net.torvald.terrarum.gameactors.AVKey
import net.torvald.terrarum.langpack.Lang import net.torvald.terrarum.langpack.Lang
@@ -20,7 +23,13 @@ class FixtureLogicSignalEmitter : FixtureBase, Electric {
) )
init { init {
println("INIT AGAIN FixtureLogicSignalEmitter") CommonResourcePool.addToLoadingList("basegame-sprites-fixtures-signal_source.tga") {
val t = TextureRegion(Texture(ModMgr.getGdxFile("basegame", "sprites/fixtures/signal_source.tga")))
t.flip(false, false)
/*return*/t
}
CommonResourcePool.loadAll()
density = 1400.0 density = 1400.0
setHitboxDimension(TILE_SIZE, TILE_SIZE, 0, -1) setHitboxDimension(TILE_SIZE, TILE_SIZE, 0, -1)

View File

@@ -0,0 +1,59 @@
package net.torvald.terrarum.modulebasegame.gameitems
import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.INGAME
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameitems.mouseInInteractableRange
import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.gameactors.FixtureBase
/**
* Created by minjaesong on 2021-12-13.
*/
open class FixtureItemBase(originalID: ItemID, val makeFixture: () -> FixtureBase) : GameItem(originalID) {
protected val ghostItem = makeFixture()
override var dynamicID: ItemID = originalID
override val originalName = "FIXTUREBASE"
override var baseMass = 1.0
override var stackable = true
override var inventoryCategory = Category.MISC
override val isUnique = false
override val isDynamic = false
override val material = Material()
override val itemImage: TextureRegion
get() = CommonResourcePool.getAsTextureRegion("itemplaceholder_32")
override var baseToolSize: Double? = baseMass
override fun effectWhenEquipped(actor: ActorWithBody, delta: Float) {
(INGAME as TerrarumIngame).blockMarkingActor.let {
it.setGhost(ghostItem)
it.isVisible = true
it.update(delta)
it.setGhostColourBlock()
mouseInInteractableRange(actor) { it.setGhostColourAllow(); true }
}
}
override fun effectOnUnequip(actor: ActorWithBody, delta: Float) {
(INGAME as TerrarumIngame).blockMarkingActor.let {
it.unsetGhost()
it.isVisible = false
it.setGhostColourNone()
}
}
override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = mouseInInteractableRange(actor) {
val item = makeFixture()
item.spawn(Terrarum.mouseTileX, Terrarum.mouseTileY - item.blockBox.height + 1)
// return true when placed, false when cannot be placed
}
}

View File

@@ -1,18 +1,15 @@
package net.torvald.terrarum.modulebasegame.gameitems package net.torvald.terrarum.modulebasegame.gameitems
import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.TextureRegion import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.terrarum.CommonResourcePool import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.ModMgr
import net.torvald.terrarum.Terrarum import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.gameactors.ActorWithBody import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.gameitems.ItemID import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.itemproperties.Material import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.modulebasegame.TerrarumIngame import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.gameactors.FixtureLogicSignalEmitter import net.torvald.terrarum.modulebasegame.gameactors.FixtureLogicSignalEmitter
class ItemLogicSignalEmitter(originalID: ItemID) : GameItem(originalID) { class ItemLogicSignalEmitter(originalID: ItemID) : FixtureItemBase(originalID, { FixtureLogicSignalEmitter() }) {
override var dynamicID: ItemID = originalID override var dynamicID: ItemID = originalID
override val originalName = "ITEM_LOGIC_SIGNAL_EMITTER" override val originalName = "ITEM_LOGIC_SIGNAL_EMITTER"
@@ -27,28 +24,16 @@ class ItemLogicSignalEmitter(originalID: ItemID) : GameItem(originalID) {
override var baseToolSize: Double? = baseMass override var baseToolSize: Double? = baseMass
init { init {
CommonResourcePool.addToLoadingList("basegame-sprites-fixtures-signal_source.tga") {
val t = TextureRegion(Texture(ModMgr.getGdxFile("basegame", "sprites/fixtures/signal_source.tga")))
t.flip(false, true)
/*return*/t
}
CommonResourcePool.loadAll()
equipPosition = EquipPosition.HAND_GRIP equipPosition = EquipPosition.HAND_GRIP
} }
override fun startPrimaryUse(actor: ActorWithBody, delta: Float): Boolean {
val item = FixtureLogicSignalEmitter()
return item.spawn(Terrarum.mouseTileX, Terrarum.mouseTileY)
// return true when placed, false when cannot be placed
}
override fun effectWhenEquipped(actor: ActorWithBody, delta: Float) { override fun effectWhenEquipped(actor: ActorWithBody, delta: Float) {
super.effectWhenEquipped(actor, delta)
(Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "signal" (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "signal"
} }
override fun effectOnUnequip(actor: ActorWithBody, delta: Float) { override fun effectOnUnequip(actor: ActorWithBody, delta: Float) {
super.effectOnUnequip(actor, delta)
(Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "" (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = ""
} }

View File

@@ -2,11 +2,7 @@ package net.torvald.terrarum.modulebasegame.gameitems
import com.badlogic.gdx.graphics.g2d.TextureRegion import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.terrarum.CommonResourcePool import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.gameitems.ItemID import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameitems.mouseInInteractableRange
import net.torvald.terrarum.itemproperties.Material import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.modulebasegame.gameactors.FixtureStorageChest import net.torvald.terrarum.modulebasegame.gameactors.FixtureStorageChest
import net.torvald.terrarum.modulebasegame.gameactors.FixtureTikiTorch import net.torvald.terrarum.modulebasegame.gameactors.FixtureTikiTorch
@@ -14,7 +10,7 @@ import net.torvald.terrarum.modulebasegame.gameactors.FixtureTikiTorch
/** /**
* Created by minjaesong on 2019-07-08. * Created by minjaesong on 2019-07-08.
*/ */
class ItemStorageChest(originalID: ItemID) : GameItem(originalID) { class ItemStorageChest(originalID: ItemID) : FixtureItemBase(originalID, { FixtureStorageChest() }) {
override var dynamicID: ItemID = originalID override var dynamicID: ItemID = originalID
override val originalName = "ITEM_STORAGE_CHEST" override val originalName = "ITEM_STORAGE_CHEST"
@@ -32,11 +28,4 @@ class ItemStorageChest(originalID: ItemID) : GameItem(originalID) {
equipPosition = EquipPosition.HAND_GRIP equipPosition = EquipPosition.HAND_GRIP
} }
override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = mouseInInteractableRange(actor) {
val item = FixtureStorageChest()
item.spawn(Terrarum.mouseTileX, Terrarum.mouseTileY - item.blockBox.height + 1)
// return true when placed, false when cannot be placed
}
} }

View File

@@ -2,33 +2,14 @@ package net.torvald.terrarum.modulebasegame.gameitems
import com.badlogic.gdx.graphics.g2d.TextureRegion import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.terrarum.CommonResourcePool import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.INGAME
import net.torvald.terrarum.ModMgr
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.gameitems.ItemID import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameitems.mouseInInteractableRange
import net.torvald.terrarum.itemproperties.Material import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.gameactors.FixtureTikiTorch import net.torvald.terrarum.modulebasegame.gameactors.FixtureTikiTorch
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
/** /**
* Created by minjaesong on 2019-05-16. * Created by minjaesong on 2019-05-16.
*/ */
class ItemTikiTorch(originalID: ItemID) : GameItem(originalID) { class ItemTikiTorch(originalID: ItemID) : FixtureItemBase(originalID, { FixtureTikiTorch() }) {
companion object {
private val ghostTorch = FixtureTikiTorch()
}
init {
CommonResourcePool.addToLoadingList("sprites-fixtures-tiki_torch.tga") {
TextureRegionPack(ModMgr.getGdxFile("basegame", "sprites/fixtures/tiki_torch.tga"), 16, 32, flipY = true)
}
CommonResourcePool.loadAll()
}
override var dynamicID: ItemID = originalID override var dynamicID: ItemID = originalID
override val originalName = "ITEM_TIKI_TORCH" override val originalName = "ITEM_TIKI_TORCH"
@@ -46,30 +27,4 @@ class ItemTikiTorch(originalID: ItemID) : GameItem(originalID) {
equipPosition = EquipPosition.HAND_GRIP equipPosition = EquipPosition.HAND_GRIP
} }
override fun effectWhenEquipped(actor: ActorWithBody, delta: Float) {
(INGAME as TerrarumIngame).blockMarkingActor.let {
it.setGhost(ghostTorch)
it.isVisible = true
it.update(delta)
it.setGhostColourBlock()
mouseInInteractableRange(actor) { it.setGhostColourAllow(); true }
}
}
override fun effectOnUnequip(actor: ActorWithBody, delta: Float) {
(INGAME as TerrarumIngame).blockMarkingActor.let {
it.unsetGhost()
it.isVisible = false
it.setGhostColourNone()
}
}
override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = mouseInInteractableRange(actor) {
val item = FixtureTikiTorch()
item.spawn(Terrarum.mouseTileX, Terrarum.mouseTileY - item.blockBox.height + 1)
// return true when placed, false when cannot be placed
}
} }

View File

@@ -14,7 +14,6 @@ import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
import net.torvald.terrarum.ui.Toolkit import net.torvald.terrarum.ui.Toolkit
import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.ui.UICanvas
import net.torvald.terrarum.ui.UIItemHorizontalFadeSlide import net.torvald.terrarum.ui.UIItemHorizontalFadeSlide
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
/** /**
* Created by minjaesong on 2017-10-21. * Created by minjaesong on 2017-10-21.
@@ -112,10 +111,6 @@ class UIInventoryFull(
init { init {
handler.allowESCtoClose = true handler.allowESCtoClose = true
CommonResourcePool.addToLoadingList("inventory_category") {
TextureRegionPack("./assets/graphics/gui/inventory/category.tga", 20, 20)
}
CommonResourcePool.loadAll()
} }
private val SP = "\u3000 " private val SP = "\u3000 "

View File

@@ -19,10 +19,6 @@ import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
class UIKeyboardControlPanel(remoCon: UIRemoCon?) : UICanvas() { class UIKeyboardControlPanel(remoCon: UIRemoCon?) : UICanvas() {
init { init {
CommonResourcePool.addToLoadingList("inventory_category") {
TextureRegionPack("assets/graphics/gui/inventory/category.tga", 20, 20)
}
CommonResourcePool.loadAll()
} }
private val labels = CommonResourcePool.getAsTextureRegionPack("inventory_category") private val labels = CommonResourcePool.getAsTextureRegionPack("inventory_category")

View File

@@ -77,9 +77,6 @@ class UILoadDemoSavefiles(val remoCon: UIRemoCon) : UICanvas() {
// private val hash = RandomWordsName(3) // private val hash = RandomWordsName(3)
init { init {
CommonResourcePool.addToLoadingList("inventory_category") {
TextureRegionPack("./assets/graphics/gui/inventory/category.tga", 20, 20)
}
CommonResourcePool.addToLoadingList("terrarum-defaultsavegamethumb") { CommonResourcePool.addToLoadingList("terrarum-defaultsavegamethumb") {
TextureRegion(Texture(Gdx.files.internal("assets/graphics/gui/savegame_thumb_placeholder.png"))) TextureRegion(Texture(Gdx.files.internal("assets/graphics/gui/savegame_thumb_placeholder.png")))
} }

View File

@@ -7,7 +7,6 @@ import com.badlogic.gdx.graphics.Pixmap
import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.FrameBuffer import com.badlogic.gdx.graphics.glutils.FrameBuffer
import net.torvald.terrarum.* import net.torvald.terrarum.*
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
/** /**
* Created by minjaesong on 2021-10-23. * Created by minjaesong on 2021-10-23.
@@ -25,10 +24,6 @@ class UIItemSpinner(
) : UIItem(parentUI, initialX, initialY) { ) : UIItem(parentUI, initialX, initialY) {
init { init {
CommonResourcePool.addToLoadingList("inventory_category") {
TextureRegionPack("assets/graphics/gui/inventory/category.tga", 20, 20)
}
CommonResourcePool.loadAll()
} }
private val labels = CommonResourcePool.getAsTextureRegionPack("inventory_category") private val labels = CommonResourcePool.getAsTextureRegionPack("inventory_category")

View File

@@ -67,10 +67,6 @@ class UIItemTextLineInput(
) : UIItem(parentUI, initialX, initialY) { ) : UIItem(parentUI, initialX, initialY) {
init { init {
CommonResourcePool.addToLoadingList("inventory_category") {
TextureRegionPack("assets/graphics/gui/inventory/category.tga", 20, 20)
}
CommonResourcePool.loadAll()
} }
private val labels = CommonResourcePool.getAsTextureRegionPack("inventory_category") private val labels = CommonResourcePool.getAsTextureRegionPack("inventory_category")

View File

@@ -27,10 +27,6 @@ class UIItemTextSelector(
) : UIItem(parentUI, initialX, initialY) { ) : UIItem(parentUI, initialX, initialY) {
init { init {
CommonResourcePool.addToLoadingList("inventory_category") {
TextureRegionPack("assets/graphics/gui/inventory/category.tga", 20, 20)
}
CommonResourcePool.loadAll()
} }
override val mouseUp: Boolean override val mouseUp: Boolean