mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-13 23:26:07 +09:00
referencing ranges for wire overlay; more pronounced torch flicker
This commit is contained in:
@@ -17,11 +17,13 @@ object ReferencingRanges {
|
|||||||
val ACTORS_MIDDLE = 0x2000_0000..0x4FFF_FFFF // Regular actors (e.g. almost all of them)
|
val ACTORS_MIDDLE = 0x2000_0000..0x4FFF_FFFF // Regular actors (e.g. almost all of them)
|
||||||
val ACTORS_MIDTOP = 0x5000_0000..0x5FFF_FFFF // Special (e.g. weapon swung, bullets, dropped item, particles)
|
val ACTORS_MIDTOP = 0x5000_0000..0x5FFF_FFFF // Special (e.g. weapon swung, bullets, dropped item, particles)
|
||||||
val ACTORS_FRONT = 0x6000_0000..0x6EFF_FFFF // Rendered front (e.g. fake tile)
|
val ACTORS_FRONT = 0x6000_0000..0x6EFF_FFFF // Rendered front (e.g. fake tile)
|
||||||
val ACTORS_WIRES = 0x6FFF_0000..0x6FFF_FFFF // Rendered front--weres
|
|
||||||
val ACTORS_OVERLAY = 0x7000_0000..0x7FFF_FFFF // Rendered as screen overlay, not affected by light nor environment overlays
|
|
||||||
|
|
||||||
val VIRTUAL_TILES = -2 downTo -1048576 // index of -1 breaks things for some reason :(
|
val ACTORS_WIRES = 0x6FFF_0000..0x6FFF_FFFF // Rendered front--wires
|
||||||
|
val ACTORS_WIRES_HELPER = 0x7000_0000..0x7000_FFFF // Rendered overlay--wiring port icons and logic gates
|
||||||
|
|
||||||
val PREFIX_DYNAMICITEM = "dyn:"
|
val ACTORS_OVERLAY = 0x7001_0000..0x7FFF_FFFF // Rendered as screen overlay, not affected by light nor environment overlays
|
||||||
val PREFIX_ACTORITEM = "actor:"
|
|
||||||
|
val PREFIX_DYNAMICITEM = "dyn"
|
||||||
|
val PREFIX_ACTORITEM = "actor"
|
||||||
|
val PREFIX_VIRTUALTILE = "virt"
|
||||||
}
|
}
|
||||||
@@ -5,6 +5,7 @@ import net.torvald.terrarum.AppLoader
|
|||||||
import net.torvald.terrarum.AppLoader.printdbg
|
import net.torvald.terrarum.AppLoader.printdbg
|
||||||
import net.torvald.terrarum.AppLoader.printmsg
|
import net.torvald.terrarum.AppLoader.printmsg
|
||||||
import net.torvald.terrarum.ReferencingRanges
|
import net.torvald.terrarum.ReferencingRanges
|
||||||
|
import net.torvald.terrarum.ReferencingRanges.PREFIX_VIRTUALTILE
|
||||||
import net.torvald.terrarum.gameitem.ItemID
|
import net.torvald.terrarum.gameitem.ItemID
|
||||||
import net.torvald.terrarum.gameworld.FluidType
|
import net.torvald.terrarum.gameworld.FluidType
|
||||||
import net.torvald.terrarum.gameworld.GameWorld
|
import net.torvald.terrarum.gameworld.GameWorld
|
||||||
@@ -72,12 +73,12 @@ object BlockCodex {
|
|||||||
// add virtual props for dynamic lights
|
// add virtual props for dynamic lights
|
||||||
val virtualChunk = ArrayList<ItemID>()
|
val virtualChunk = ArrayList<ItemID>()
|
||||||
repeat(DYNAMIC_RANDOM_CASES) { _ ->
|
repeat(DYNAMIC_RANDOM_CASES) { _ ->
|
||||||
val virtualID = "virt:$virtualTileCursor"
|
val virtualID = "$PREFIX_VIRTUALTILE:$virtualTileCursor"
|
||||||
|
|
||||||
virtualToTile[virtualID] = tileId
|
virtualToTile[virtualID] = tileId
|
||||||
virtualChunk.add(virtualID)
|
virtualChunk.add(virtualID)
|
||||||
|
|
||||||
setProp("virt", virtualTileCursor, it)
|
setProp(PREFIX_VIRTUALTILE, virtualTileCursor, it)
|
||||||
|
|
||||||
printdbg(this, "Block ID $tileId -> Virtual ID $virtualID, baseLum: ${blockProps[virtualID]?.baseLumCol}")
|
printdbg(this, "Block ID $tileId -> Virtual ID $virtualID, baseLum: ${blockProps[virtualID]?.baseLumCol}")
|
||||||
virtualTileCursor += 1
|
virtualTileCursor += 1
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import net.torvald.terrarum.weather.WeatherMixer
|
|||||||
object BlockPropUtil {
|
object BlockPropUtil {
|
||||||
//var flickerFuncX: Second = 0f // saves current status (time) of func
|
//var flickerFuncX: Second = 0f // saves current status (time) of func
|
||||||
val flickerFuncDomain: Second = 0.08f // time between two noise sample
|
val flickerFuncDomain: Second = 0.08f // time between two noise sample
|
||||||
val flickerFuncRange = 0.012f // intensity [0, 1]
|
val flickerFuncRange = 0.022f // intensity [0, 1]
|
||||||
|
|
||||||
//var breathFuncX = 0f
|
//var breathFuncX = 0f
|
||||||
val breathRange = 0.02f
|
val breathRange = 0.02f
|
||||||
|
|||||||
@@ -27,9 +27,11 @@ abstract class Actor(val renderOrder: RenderOrder) : Comparable<Actor>, Runnable
|
|||||||
val RANGE_BEHIND = ReferencingRanges.ACTORS_BEHIND // 1
|
val RANGE_BEHIND = ReferencingRanges.ACTORS_BEHIND // 1
|
||||||
val RANGE_MIDDLE = ReferencingRanges.ACTORS_MIDDLE // 3
|
val RANGE_MIDDLE = ReferencingRanges.ACTORS_MIDDLE // 3
|
||||||
val RANGE_MIDTOP = ReferencingRanges.ACTORS_MIDTOP // 1
|
val RANGE_MIDTOP = ReferencingRanges.ACTORS_MIDTOP // 1
|
||||||
val RANGE_FRONT = ReferencingRanges.ACTORS_FRONT // 1
|
val RANGE_FRONT = ReferencingRanges.ACTORS_FRONT // 0.9375
|
||||||
val RANGE_OVERLAY= ReferencingRanges.ACTORS_OVERLAY // 0.9375
|
val RANGE_OVERLAY= ReferencingRanges.ACTORS_OVERLAY // 0.9375
|
||||||
|
|
||||||
val RANGE_WIRES = ReferencingRanges.ACTORS_WIRES // 0.0002
|
val RANGE_WIRES = ReferencingRanges.ACTORS_WIRES // 0.0002
|
||||||
|
val RANGE_WIRES_HELPER = ReferencingRanges.ACTORS_WIRES_HELPER // 0.0002
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract fun update(delta: Float)
|
abstract fun update(delta: Float)
|
||||||
|
|||||||
@@ -295,7 +295,7 @@ abstract class GameItem(val originalID: ItemID) : Comparable<GameItem>, Cloneabl
|
|||||||
|
|
||||||
|
|
||||||
fun generateUniqueDynamicID(inventory: ActorInventory): GameItem {
|
fun generateUniqueDynamicID(inventory: ActorInventory): GameItem {
|
||||||
dynamicID = "$PREFIX_DYNAMICITEM${Companion.generateUniqueDynamicID(inventory)}"
|
dynamicID = "$PREFIX_DYNAMICITEM:${Companion.generateUniqueDynamicID(inventory)}"
|
||||||
ItemCodex.registerNewDynamicItem(dynamicID, this)
|
ItemCodex.registerNewDynamicItem(dynamicID, this)
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
@@ -308,7 +308,7 @@ abstract class GameItem(val originalID: ItemID) : Comparable<GameItem>, Cloneabl
|
|||||||
var ret: Int
|
var ret: Int
|
||||||
do {
|
do {
|
||||||
ret = (1..2147483647).pickRandom()
|
ret = (1..2147483647).pickRandom()
|
||||||
} while (inventory.contains("$PREFIX_DYNAMICITEM$ret"))
|
} while (inventory.contains("$PREFIX_DYNAMICITEM:$ret"))
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,9 +53,9 @@ object ItemCodex {
|
|||||||
operator fun get(code: ItemID?): GameItem? {
|
operator fun get(code: ItemID?): GameItem? {
|
||||||
if (code == null) return null
|
if (code == null) return null
|
||||||
|
|
||||||
if (code.startsWith(PREFIX_DYNAMICITEM))
|
if (code.startsWith("$PREFIX_DYNAMICITEM:"))
|
||||||
return dynamicItemDescription[code]!!
|
return dynamicItemDescription[code]!!
|
||||||
else if (code.startsWith(PREFIX_ACTORITEM)) {
|
else if (code.startsWith("$PREFIX_ACTORITEM:")) {
|
||||||
val a = (Terrarum.ingame!! as TerrarumIngame).getActorByID(code.substring(6).toInt()) // actor item
|
val a = (Terrarum.ingame!! as TerrarumIngame).getActorByID(code.substring(6).toInt()) // actor item
|
||||||
if (a is CanBeAnItem) return a.itemData
|
if (a is CanBeAnItem) return a.itemData
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ object ItemCodex {
|
|||||||
if (itemID == null) return null
|
if (itemID == null) return null
|
||||||
|
|
||||||
// dynamic item
|
// dynamic item
|
||||||
if (itemID.startsWith(PREFIX_DYNAMICITEM)) {
|
if (itemID.startsWith("$PREFIX_DYNAMICITEM:")) {
|
||||||
return getItemImage(dynamicToStaticID(itemID))
|
return getItemImage(dynamicToStaticID(itemID))
|
||||||
}
|
}
|
||||||
// item
|
// item
|
||||||
|
|||||||
Reference in New Issue
Block a user