mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-06 08:38:30 +09:00
reduced boot time by not using proper wall tex; darker wall draw
This commit is contained in:
@@ -3,13 +3,12 @@ package net.torvald.terrarum.itemproperties
|
|||||||
import com.badlogic.gdx.graphics.Texture
|
import com.badlogic.gdx.graphics.Texture
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureRegion
|
import com.badlogic.gdx.graphics.g2d.TextureRegion
|
||||||
import net.torvald.terrarum.KVHashMap
|
import net.torvald.terrarum.KVHashMap
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.CanBeAnItem
|
|
||||||
import net.torvald.terrarum.Terrarum
|
import net.torvald.terrarum.Terrarum
|
||||||
import net.torvald.terrarum.blockproperties.Fluid
|
import net.torvald.terrarum.blockproperties.Fluid
|
||||||
import net.torvald.terrarum.gameworld.GameWorld
|
import net.torvald.terrarum.gameworld.GameWorld
|
||||||
import net.torvald.terrarum.worlddrawer.BlocksDrawer
|
|
||||||
import net.torvald.terrarum.modulebasegame.Ingame
|
import net.torvald.terrarum.modulebasegame.Ingame
|
||||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer.TILE_SIZE
|
import net.torvald.terrarum.modulebasegame.gameactors.CanBeAnItem
|
||||||
|
import net.torvald.terrarum.worlddrawer.BlocksDrawer
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -242,8 +241,8 @@ object ItemCodex {
|
|||||||
// wall
|
// wall
|
||||||
else if (item.originalID in ITEM_WALLS) {
|
else if (item.originalID in ITEM_WALLS) {
|
||||||
return BlocksDrawer.tileItemWall.get(
|
return BlocksDrawer.tileItemWall.get(
|
||||||
(item.originalID.minus(ITEM_WALLS.first) % 16) * TILE_SIZE,
|
(item.originalID.minus(ITEM_WALLS.first) % 16) * 16,
|
||||||
(item.originalID.minus(ITEM_WALLS.first) / 16) * TILE_SIZE
|
(item.originalID.minus(ITEM_WALLS.first) / 16)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
// wire
|
// wire
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import net.torvald.terrarum.floorInt
|
|||||||
import net.torvald.terrarum.gameworld.GameWorld
|
import net.torvald.terrarum.gameworld.GameWorld
|
||||||
import net.torvald.terrarum.gameworld.PairedMapLayer
|
import net.torvald.terrarum.gameworld.PairedMapLayer
|
||||||
import net.torvald.terrarum.gameworld.fmod
|
import net.torvald.terrarum.gameworld.fmod
|
||||||
import net.torvald.terrarum.itemproperties.ItemCodex.ITEM_TILES
|
|
||||||
import net.torvald.terrarum.modulebasegame.gameworld.GameWorldExtension
|
import net.torvald.terrarum.modulebasegame.gameworld.GameWorldExtension
|
||||||
import net.torvald.terrarum.modulebasegame.gameworld.WorldSimulator
|
import net.torvald.terrarum.modulebasegame.gameworld.WorldSimulator
|
||||||
import net.torvald.terrarum.modulebasegame.gameworld.WorldTime
|
import net.torvald.terrarum.modulebasegame.gameworld.WorldTime
|
||||||
@@ -56,7 +55,7 @@ internal object BlocksDrawer {
|
|||||||
//val tileItemWall = Image(TILE_SIZE * 16, TILE_SIZE * GameWorld.TILES_SUPPORTED / 16) // 4 MB
|
//val tileItemWall = Image(TILE_SIZE * 16, TILE_SIZE * GameWorld.TILES_SUPPORTED / 16) // 4 MB
|
||||||
|
|
||||||
|
|
||||||
val wallOverlayColour = Color(2f/3f, 2f/3f, 2f/3f, 1f)
|
val wallOverlayColour = Color(5f/9f,5f/9f,5f/9f,1f)
|
||||||
|
|
||||||
const val BREAKAGE_STEPS = 10
|
const val BREAKAGE_STEPS = 10
|
||||||
const val TILES_PER_BLOCK = PairedMapLayer.RANGE
|
const val TILES_PER_BLOCK = PairedMapLayer.RANGE
|
||||||
@@ -144,32 +143,10 @@ internal object BlocksDrawer {
|
|||||||
printdbg(this, "Making wall item textures...")
|
printdbg(this, "Making wall item textures...")
|
||||||
|
|
||||||
// create item_wall images
|
// create item_wall images
|
||||||
// --> make pixmap
|
// will just use the terrain texture :p
|
||||||
val _tileItemImgPixMap = Pixmap(TILE_SIZE * 16, TILE_SIZE * GameWorld.TILES_SUPPORTED / 16, Pixmap.Format.RGBA8888)
|
tileItemWall = tilesTerrain
|
||||||
_tileItemImgPixMap.pixels.rewind()
|
|
||||||
|
|
||||||
for (tileID in ITEM_TILES) {
|
|
||||||
|
|
||||||
val tileX = (tileID % 16) * 16
|
|
||||||
val tileY = tileID / 16
|
|
||||||
val tile = tilesTerrain.get(tileX, tileY)
|
|
||||||
|
|
||||||
|
|
||||||
// slow memory copy :\ I'm afraid I can't random-access bytebuffer...
|
|
||||||
for (scanline in 0 until _tileItemImgPixMap.height) {
|
|
||||||
for (x in 0 until TILE_SIZE) {
|
|
||||||
val pixel = _terrainPixMap.getPixel(tileX + x, scanline)
|
|
||||||
_tileItemImgPixMap.drawPixel(x + TILE_SIZE * (tileID % 16), scanline, pixel)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
_tileItemImgPixMap.pixels.rewind()
|
|
||||||
// turn pixmap into texture
|
|
||||||
tileItemWall = TextureRegionPack(Texture(_tileItemImgPixMap), TILE_SIZE, TILE_SIZE)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_tileItemImgPixMap.dispose()
|
|
||||||
_terrainPixMap.dispose() // finally
|
_terrainPixMap.dispose() // finally
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user