mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-12 11:34:05 +09:00
game item to load its own image if needed; common resource pool to assist that
This commit is contained in:
@@ -1,17 +1,15 @@
|
||||
package net.torvald.terrarum.modulebasegame
|
||||
|
||||
import net.torvald.terrarum.*
|
||||
import net.torvald.terrarum.AppLoader.IS_DEVELOPMENT_BUILD
|
||||
import net.torvald.terrarum.AppLoader.printdbg
|
||||
import net.torvald.terrarum.ModMgr
|
||||
import net.torvald.terrarum.ModuleEntryPoint
|
||||
import net.torvald.terrarum.Point2d
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import net.torvald.terrarum.gameactors.ActorWBMovable
|
||||
import net.torvald.terrarum.itemproperties.GameItem
|
||||
import net.torvald.terrarum.itemproperties.ItemCodex
|
||||
import net.torvald.terrarum.itemproperties.Material
|
||||
import net.torvald.terrarum.modulebasegame.imagefont.WatchFont
|
||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||
|
||||
/**
|
||||
* The entry point for the module "Basegame"
|
||||
@@ -27,6 +25,18 @@ class EntryPoint : ModuleEntryPoint() {
|
||||
ModMgr.GameLanguageLoader.invoke("basegame")
|
||||
|
||||
|
||||
// load common resources to the AssetsManager
|
||||
AppLoader.resourcePool.addToLoadingList("basegame.items16", TextureRegionPack.javaClass) {
|
||||
TextureRegionPack(ModMgr.getGdxFile("basegame", "items/items.tga"), 16, 16)
|
||||
}
|
||||
AppLoader.resourcePool.addToLoadingList("basegame.items24", TextureRegionPack.javaClass) {
|
||||
TextureRegionPack(ModMgr.getGdxFile("basegame", "items/items24.tga"), 24, 24)
|
||||
}
|
||||
AppLoader.resourcePool.addToLoadingList("basegame.items48", TextureRegionPack.javaClass) {
|
||||
TextureRegionPack(ModMgr.getGdxFile("basegame", "items/items48.tga"), 48, 48)
|
||||
}
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// load customised item loader //
|
||||
/////////////////////////////////
|
||||
@@ -77,7 +87,7 @@ class EntryPoint : ModuleEntryPoint() {
|
||||
this.inventoryCategory == Category.WALL &&
|
||||
this.dynamicID - ItemCodex.ITEM_WALLS.start == ingame.world.getTileFromWall(Terrarum.mouseTileX, Terrarum.mouseTileY) ||
|
||||
this.inventoryCategory == Category.WIRE &&
|
||||
this.dynamicID - ItemCodex.ITEM_WIRES.start == ingame.world.getTileFromWire(Terrarum.mouseTileX, Terrarum.mouseTileY)
|
||||
1.shl(this.dynamicID - ItemCodex.ITEM_WIRES.start) and (ingame.world.getWires(Terrarum.mouseTileX, Terrarum.mouseTileY) ?: 0) != 0
|
||||
)
|
||||
return false
|
||||
|
||||
|
||||
@@ -214,6 +214,9 @@ object IngameRenderer {
|
||||
// works but some UI elements have wrong transparency -> should be fixed with Terrarum.gdxCleanAndSetBlend -- Torvald 2019-01-12
|
||||
blendNormal(batch)
|
||||
batch.color = Color.WHITE
|
||||
|
||||
|
||||
drawWires = false
|
||||
}
|
||||
|
||||
|
||||
@@ -232,6 +235,8 @@ object IngameRenderer {
|
||||
|
||||
internal var fboRGBexportRequested = false
|
||||
|
||||
var drawWires = false
|
||||
|
||||
private fun drawToRGB(
|
||||
actorsRenderBehind: List<ActorWithBody>?,
|
||||
actorsRenderMiddle: List<ActorWithBody>?,
|
||||
@@ -274,7 +279,7 @@ object IngameRenderer {
|
||||
}
|
||||
|
||||
setCameraPosition(0f, 0f)
|
||||
BlocksDrawer.drawFront(batch.projectionMatrix, false) // blue coloured filter of water, etc.
|
||||
BlocksDrawer.drawFront(batch.projectionMatrix, drawWires) // blue coloured filter of water, etc.
|
||||
|
||||
batch.inUse {
|
||||
FeaturesDrawer.drawEnvOverlay(batch)
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package net.torvald.terrarum.modulebasegame.items
|
||||
|
||||
import com.badlogic.gdx.graphics.g2d.TextureRegion
|
||||
import net.torvald.terrarum.AppLoader
|
||||
import net.torvald.terrarum.Point2d
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
@@ -10,6 +12,7 @@ import net.torvald.terrarum.itemproperties.GameItem
|
||||
import net.torvald.terrarum.itemproperties.ItemID
|
||||
import net.torvald.terrarum.itemproperties.Material
|
||||
import net.torvald.terrarum.modulebasegame.Ingame
|
||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 2017-07-17.
|
||||
@@ -22,9 +25,11 @@ class PickaxeGeneric(override val originalID: ItemID) : GameItem() {
|
||||
override var baseToolSize: Double? = 10.0
|
||||
override var stackable = true
|
||||
override var inventoryCategory = Category.TOOL
|
||||
override var isUnique = false
|
||||
override var isDynamic = true
|
||||
override val isUnique = false
|
||||
override val isDynamic = true
|
||||
override var material = Material(0,0,0,0,0,0,0,0,1,0.0)
|
||||
override val itemImage: TextureRegion?
|
||||
get() = (AppLoader.resourcePool["basegame.items24"] as TextureRegionPack).get(2,0)
|
||||
|
||||
init {
|
||||
super.equipPosition = GameItem.EquipPosition.HAND_GRIP
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package net.torvald.terrarum.modulebasegame.items
|
||||
|
||||
import com.badlogic.gdx.graphics.g2d.TextureRegion
|
||||
import net.torvald.terrarum.AppLoader
|
||||
import net.torvald.terrarum.itemproperties.GameItem
|
||||
import net.torvald.terrarum.itemproperties.ItemID
|
||||
import net.torvald.terrarum.modulebasegame.IngameRenderer
|
||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 2019-03-10.
|
||||
*/
|
||||
class WirePieceSignalWire(override val originalID: ItemID) : GameItem() {
|
||||
|
||||
override var dynamicID: ItemID = originalID
|
||||
override val originalName = "ITEM_WIRE"
|
||||
override var baseMass = 0.001
|
||||
override var baseToolSize: Double? = null
|
||||
override var stackable = true
|
||||
override var inventoryCategory = Category.WIRE
|
||||
override val isUnique = false
|
||||
override val isDynamic = false
|
||||
override val material = GameItem.NULL_MATERIAL
|
||||
override val itemImage: TextureRegion?
|
||||
get() = (AppLoader.resourcePool["basegame.items16"] as TextureRegionPack).get(1,9)
|
||||
|
||||
init {
|
||||
super.equipPosition = GameItem.EquipPosition.HAND_GRIP
|
||||
|
||||
}
|
||||
|
||||
override fun startPrimaryUse(delta: Float): Boolean {
|
||||
return super.startPrimaryUse(delta)
|
||||
}
|
||||
|
||||
override fun effectWhenEquipped(delta: Float) {
|
||||
IngameRenderer.drawWires = true
|
||||
}
|
||||
}
|
||||
@@ -176,9 +176,6 @@ object WorldGenerator {
|
||||
//post-process
|
||||
generateFloatingIslands()
|
||||
|
||||
//wire layer
|
||||
Arrays.fill(world.wireArray, 0.toByte())
|
||||
|
||||
|
||||
// determine spawn position
|
||||
world.spawnY = getSpawnHeight(world.spawnX)
|
||||
|
||||
Reference in New Issue
Block a user