diff --git a/src/net/torvald/terrarum/ReferencingRanges.kt b/src/net/torvald/terrarum/ReferencingRanges.kt index 130313e26..6f23f0e1e 100644 --- a/src/net/torvald/terrarum/ReferencingRanges.kt +++ b/src/net/torvald/terrarum/ReferencingRanges.kt @@ -17,11 +17,13 @@ object ReferencingRanges { 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_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 PREFIX_ACTORITEM = "actor:" + val ACTORS_OVERLAY = 0x7001_0000..0x7FFF_FFFF // Rendered as screen overlay, not affected by light nor environment overlays + + val PREFIX_DYNAMICITEM = "dyn" + val PREFIX_ACTORITEM = "actor" + val PREFIX_VIRTUALTILE = "virt" } \ No newline at end of file diff --git a/src/net/torvald/terrarum/blockproperties/BlockCodex.kt b/src/net/torvald/terrarum/blockproperties/BlockCodex.kt index cc3568c7b..390e2846f 100644 --- a/src/net/torvald/terrarum/blockproperties/BlockCodex.kt +++ b/src/net/torvald/terrarum/blockproperties/BlockCodex.kt @@ -5,6 +5,7 @@ import net.torvald.terrarum.AppLoader import net.torvald.terrarum.AppLoader.printdbg import net.torvald.terrarum.AppLoader.printmsg import net.torvald.terrarum.ReferencingRanges +import net.torvald.terrarum.ReferencingRanges.PREFIX_VIRTUALTILE import net.torvald.terrarum.gameitem.ItemID import net.torvald.terrarum.gameworld.FluidType import net.torvald.terrarum.gameworld.GameWorld @@ -72,12 +73,12 @@ object BlockCodex { // add virtual props for dynamic lights val virtualChunk = ArrayList() repeat(DYNAMIC_RANDOM_CASES) { _ -> - val virtualID = "virt:$virtualTileCursor" + val virtualID = "$PREFIX_VIRTUALTILE:$virtualTileCursor" virtualToTile[virtualID] = tileId virtualChunk.add(virtualID) - setProp("virt", virtualTileCursor, it) + setProp(PREFIX_VIRTUALTILE, virtualTileCursor, it) printdbg(this, "Block ID $tileId -> Virtual ID $virtualID, baseLum: ${blockProps[virtualID]?.baseLumCol}") virtualTileCursor += 1 diff --git a/src/net/torvald/terrarum/blockproperties/BlockPropUtil.kt b/src/net/torvald/terrarum/blockproperties/BlockPropUtil.kt index 3938c8e10..7dcb70808 100644 --- a/src/net/torvald/terrarum/blockproperties/BlockPropUtil.kt +++ b/src/net/torvald/terrarum/blockproperties/BlockPropUtil.kt @@ -15,7 +15,7 @@ import net.torvald.terrarum.weather.WeatherMixer object BlockPropUtil { //var flickerFuncX: Second = 0f // saves current status (time) of func 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 val breathRange = 0.02f diff --git a/src/net/torvald/terrarum/gameactors/Actor.kt b/src/net/torvald/terrarum/gameactors/Actor.kt index fcddd180f..eee02282d 100644 --- a/src/net/torvald/terrarum/gameactors/Actor.kt +++ b/src/net/torvald/terrarum/gameactors/Actor.kt @@ -27,9 +27,11 @@ abstract class Actor(val renderOrder: RenderOrder) : Comparable, Runnable val RANGE_BEHIND = ReferencingRanges.ACTORS_BEHIND // 1 val RANGE_MIDDLE = ReferencingRanges.ACTORS_MIDDLE // 3 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_WIRES = ReferencingRanges.ACTORS_WIRES // 0.0002 + val RANGE_WIRES_HELPER = ReferencingRanges.ACTORS_WIRES_HELPER // 0.0002 } abstract fun update(delta: Float) diff --git a/src/net/torvald/terrarum/gameitem/GameItem.kt b/src/net/torvald/terrarum/gameitem/GameItem.kt index ac20a0431..218987548 100644 --- a/src/net/torvald/terrarum/gameitem/GameItem.kt +++ b/src/net/torvald/terrarum/gameitem/GameItem.kt @@ -295,7 +295,7 @@ abstract class GameItem(val originalID: ItemID) : Comparable, Cloneabl fun generateUniqueDynamicID(inventory: ActorInventory): GameItem { - dynamicID = "$PREFIX_DYNAMICITEM${Companion.generateUniqueDynamicID(inventory)}" + dynamicID = "$PREFIX_DYNAMICITEM:${Companion.generateUniqueDynamicID(inventory)}" ItemCodex.registerNewDynamicItem(dynamicID, this) return this } @@ -308,7 +308,7 @@ abstract class GameItem(val originalID: ItemID) : Comparable, Cloneabl var ret: Int do { ret = (1..2147483647).pickRandom() - } while (inventory.contains("$PREFIX_DYNAMICITEM$ret")) + } while (inventory.contains("$PREFIX_DYNAMICITEM:$ret")) return ret } diff --git a/src/net/torvald/terrarum/itemproperties/ItemCodex.kt b/src/net/torvald/terrarum/itemproperties/ItemCodex.kt index 32e4c49ac..df0d7593e 100644 --- a/src/net/torvald/terrarum/itemproperties/ItemCodex.kt +++ b/src/net/torvald/terrarum/itemproperties/ItemCodex.kt @@ -53,9 +53,9 @@ object ItemCodex { operator fun get(code: ItemID?): GameItem? { if (code == null) return null - if (code.startsWith(PREFIX_DYNAMICITEM)) + if (code.startsWith("$PREFIX_DYNAMICITEM:")) 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 if (a is CanBeAnItem) return a.itemData @@ -89,7 +89,7 @@ object ItemCodex { if (itemID == null) return null // dynamic item - if (itemID.startsWith(PREFIX_DYNAMICITEM)) { + if (itemID.startsWith("$PREFIX_DYNAMICITEM:")) { return getItemImage(dynamicToStaticID(itemID)) } // item