diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt index a570ccaca..4086333c2 100644 --- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt +++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemHomeComputer.kt @@ -8,7 +8,7 @@ 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.inInteractableRange +import net.torvald.terrarum.gameitems.mouseInInteractableRange import net.torvald.terrarum.itemproperties.Material import net.torvald.terrarum.modulecomputers.gameactors.FixtureHomeComputer @@ -42,7 +42,7 @@ class ItemHomeComputer(originalID: ItemID) : GameItem(originalID) { equipPosition = EquipPosition.HAND_GRIP } - override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = inInteractableRange(actor) { + override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = mouseInInteractableRange(actor) { val item = FixtureHomeComputer() item.spawn(Terrarum.mouseTileX, Terrarum.mouseTileY - item.blockBox.height + 1) diff --git a/assets/shaders/ghastlywhite.frag b/assets/shaders/ghastlywhite.frag new file mode 100644 index 000000000..a92cd7847 --- /dev/null +++ b/assets/shaders/ghastlywhite.frag @@ -0,0 +1,13 @@ +varying vec4 v_color; +varying vec2 v_texCoords; +uniform sampler2D u_texture; + +vec2 boolean = vec2(0.0, 1.0); +vec4 desaturate = vec4(0.2126, 0.7152, 0.0722, 0.0); + +void main(void) { + vec4 incolour = texture2D(u_texture, v_texCoords); + float lum = dot(incolour * desaturate, boolean.yyyx) * 0.5 + 0.5; + + gl_FragColor = v_color * (vec4(lum) * boolean.yyyx + incolour * boolean.xxxy); +} \ No newline at end of file diff --git a/src/net/torvald/terrarum/App.java b/src/net/torvald/terrarum/App.java index 70374ecf7..465f7851e 100644 --- a/src/net/torvald/terrarum/App.java +++ b/src/net/torvald/terrarum/App.java @@ -228,6 +228,7 @@ public class App implements ApplicationListener { public static ShaderProgram shaderDitherRGBA; public static ShaderProgram shaderColLUT; public static ShaderProgram shaderReflect; + public static ShaderProgram shaderGhastlyWhite; public static Mesh fullscreenQuad; private static OrthographicCamera camera; @@ -435,6 +436,7 @@ public class App implements ApplicationListener { shaderDitherRGBA = loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/4096_bayer.frag"); // always load the shader regardless of config because the config may cange shaderColLUT = loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/passthrurgb.frag"); shaderReflect = loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/reflect.frag"); + shaderGhastlyWhite = loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/ghastlywhite.frag"); fullscreenQuad = new Mesh( true, 4, 6, @@ -780,6 +782,7 @@ public class App implements ApplicationListener { shaderPassthruRGBA.dispose(); shaderColLUT.dispose(); shaderReflect.dispose(); + shaderGhastlyWhite.dispose(); CommonResourcePool.INSTANCE.dispose(); fullscreenQuad.dispose(); @@ -794,13 +797,6 @@ public class App implements ApplicationListener { logo.getTexture().dispose(); - disposables.forEach((it) -> { - try { - it.dispose(); - } - catch (NullPointerException | IllegalArgumentException | GdxRuntimeException e) { } - }); - ModMgr.INSTANCE.disposeMods(); GameWorld.Companion.makeNullWorld().dispose(); @@ -810,6 +806,13 @@ public class App implements ApplicationListener { inputStrober.dispose(); deleteTempfiles(); + + disposables.forEach((it) -> { + try { + it.dispose(); + } + catch (NullPointerException | IllegalArgumentException | GdxRuntimeException | ConcurrentModificationException e) { } + }); } @Override diff --git a/src/net/torvald/terrarum/IngameInstance.kt b/src/net/torvald/terrarum/IngameInstance.kt index 34fbfdbf5..704ea64b2 100644 --- a/src/net/torvald/terrarum/IngameInstance.kt +++ b/src/net/torvald/terrarum/IngameInstance.kt @@ -131,6 +131,9 @@ open class IngameInstance(val batch: SpriteBatch, val isMultiplayer: Boolean = f var loadedTime_t = App.getTIME_T() protected set + val blockMarkingActor: BlockMarkerActor + get() = CommonResourcePool.get("blockmarking_actor") as BlockMarkerActor + override fun hide() { } @@ -146,7 +149,6 @@ open class IngameInstance(val batch: SpriteBatch, val isMultiplayer: Boolean = f try { addNewActor(it) } catch (e: ReferencedActorAlreadyExistsException) {} } - gameInitialised = true } diff --git a/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt b/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt index 3b90e0c28..c5ccde0b2 100644 --- a/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt +++ b/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt @@ -2,6 +2,8 @@ package net.torvald.terrarum.gameactors import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.g2d.SpriteBatch +import net.torvald.spriteanimation.SpriteAnimation +import net.torvald.terrarum.App import net.torvald.terrarum.CommonResourcePool import net.torvald.terrarum.ReferencingRanges import net.torvald.terrarum.Terrarum @@ -9,28 +11,51 @@ import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = PhysProperties.MOBILE_OBJECT) { - override var referenceID: ActorID = 1048575 // custom refID + private val defaultSize = 16.0 + + override var referenceID: ActorID = ReferencingRanges.ACTORS_OVERLAY.last // custom refID override val hitbox = Hitbox(0.0, 0.0, 16.0, 16.0) - var color = Color.YELLOW - var shape = 0 + var markerColour = Color.YELLOW + var markerShape = 0 private val blockMarkings: TextureRegionPack get() = CommonResourcePool.getAsTextureRegionPack("blockmarkings_common") + private var ghost: SpriteAnimation? = null + private var hasGhost = false + var ghostColour = Color.WHITE + + init { - this.referenceID = ReferencingRanges.ACTORS_OVERLAY.last this.isVisible = false + renderOrder = Actor.RenderOrder.OVERLAY // for some reason the constructor didn't work } override fun drawBody(batch: SpriteBatch) { if (isVisible) { - batch.color = color - batch.draw(blockMarkings.get(shape, 0), hitbox.startX.toFloat(), hitbox.startY.toFloat()) + if (hasGhost) { + batch.shader = App.shaderGhastlyWhite + if (ghost != null) { + batch.color = ghostColour + drawSpriteInGoodPosition(ghost!!, batch) + } + } + else { + batch.shader = null + batch.color = markerColour + batch.draw(blockMarkings.get(markerShape, 0), hitbox.startX.toFloat(), hitbox.startY.toFloat()) + } + } + + batch.shader = null + batch.color = Color.WHITE } - override fun drawGlow(batch: SpriteBatch) { } + override fun drawGlow(batch: SpriteBatch) { + batch.color = Color.WHITE + } override fun dispose() { } @@ -46,4 +71,19 @@ class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = Phy override fun onActorValueChange(key: String, value: Any?) { } + + fun setGhost(actor: ActorWithBody) { + ghost = actor.sprite + hasGhost = true + } + + fun unsetGhost() { + ghost = null + hasGhost = false + setGhostColourNone() + } + + fun setGhostColourNone() { ghostColour = Color.WHITE } + fun setGhostColourAllow() { ghostColour = Color(-1) } + fun setGhostColourBlock() { ghostColour = Color(0) } } \ No newline at end of file diff --git a/src/net/torvald/terrarum/gameitems/GameItem.kt b/src/net/torvald/terrarum/gameitems/GameItem.kt index 0423f30f4..37e834ff9 100644 --- a/src/net/torvald/terrarum/gameitems/GameItem.kt +++ b/src/net/torvald/terrarum/gameitems/GameItem.kt @@ -328,7 +328,7 @@ abstract class GameItem(val originalID: ItemID) : Comparable, Cloneabl * @param actor actor to check the reach * @param action returns true if the action was successfully performed */ -fun inInteractableRange(actor: ActorWithBody, action: () -> Boolean): Boolean { +fun mouseInInteractableRange(actor: ActorWithBody, action: () -> Boolean): Boolean { val mousePos1 = Vector2(Terrarum.mouseX, Terrarum.mouseY) val mousePos2 = Vector2(Terrarum.mouseX + INGAME.world.width * TILE_SIZED, Terrarum.mouseY) val mousePos3 = Vector2(Terrarum.mouseX - INGAME.world.width * TILE_SIZED, Terrarum.mouseY) diff --git a/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt b/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt index 442f13d56..5dd60ec82 100644 --- a/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt +++ b/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt @@ -238,6 +238,9 @@ object IngameRenderer : Disposable { drawToA(actorsRenderBehind, actorsRenderMiddle, actorsRenderMidTop, actorsRenderFront, particlesContainer) drawOverlayActors(actorsRenderOverlay) } + + batch.color = Color.WHITE + // clear main or whatever super-FBO being used //clearBuffer() gdxClearAndSetBlend(.64f, .754f, .84f, 0f) diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt index 91036cd49..6f73e778f 100644 --- a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt +++ b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt @@ -22,7 +22,7 @@ import net.torvald.terrarum.gamecontroller.IngameController import net.torvald.terrarum.gamecontroller.KeyToggler import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent import net.torvald.terrarum.gameitems.GameItem -import net.torvald.terrarum.gameitems.inInteractableRange +import net.torvald.terrarum.gameitems.mouseInInteractableRange import net.torvald.terrarum.gameparticles.ParticleBase import net.torvald.terrarum.gameworld.GameWorld import net.torvald.terrarum.gameworld.WorldSimulator @@ -604,7 +604,7 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) { // what if there's multiple of such fixtures? whatever, you are supposed to DISALLOW such situation. if (itemOnGrip?.inventoryCategory != GameItem.Category.TOOL) { // don't open the UI when player's holding a tool for (kk in actorsUnderMouse.indices) { - if (inInteractableRange(actor) { + if (mouseInInteractableRange(actor) { actorsUnderMouse[kk].mainUI?.let { uiOpened = true @@ -632,7 +632,7 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) { } // #3. If I'm not holding any item and I can do barehandaction (size big enough that barehandactionminheight check passes), perform it else if (itemOnGrip == null && canPerformBarehandAction) { - inInteractableRange(actor) { + mouseInInteractableRange(actor) { performBarehandAction(actor, delta) true } diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureTikiTorch.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureTikiTorch.kt index 6abb281dd..c1417033f 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureTikiTorch.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureTikiTorch.kt @@ -40,7 +40,7 @@ internal class FixtureTikiTorch : FixtureBase, Luminous { // loading textures CommonResourcePool.addToLoadingList("sprites-fixtures-tiki_torch.tga") { - TextureRegionPack(ModMgr.getGdxFile("basegame", "sprites/fixtures/tiki_torch.tga"), 16, 32) + TextureRegionPack(ModMgr.getGdxFile("basegame", "sprites/fixtures/tiki_torch.tga"), 16, 32, flipY = true) } CommonResourcePool.addToLoadingList("particles-tiki_smoke.tga") { TextureRegionPack(ModMgr.getGdxFile("basegame", "particles/bigger_smoke.tga"), 16, 16) diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/BlockBase.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/BlockBase.kt index 2d497f1ad..6c608b061 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/BlockBase.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/BlockBase.kt @@ -4,7 +4,7 @@ import net.torvald.terrarum.* import net.torvald.terrarum.gameactors.ActorWithBody import net.torvald.terrarum.gameitems.GameItem import net.torvald.terrarum.gameitems.ItemID -import net.torvald.terrarum.gameitems.inInteractableRange +import net.torvald.terrarum.gameitems.mouseInInteractableRange import net.torvald.terrarum.modulebasegame.TerrarumIngame /** @@ -16,7 +16,7 @@ object BlockBase { * @param dontEncaseActors when set to true, blocks won't be placed where Actors are. You will want to set it false * for wire items, otherwise you want it to be true. */ - fun blockStartPrimaryUse(actor: ActorWithBody, gameItem: GameItem, itemID: ItemID, delta: Float) = inInteractableRange(actor) { + fun blockStartPrimaryUse(actor: ActorWithBody, gameItem: GameItem, itemID: ItemID, delta: Float) = mouseInInteractableRange(actor) { val ingame = Terrarum.ingame!! as TerrarumIngame val mousePoint = Point2d(Terrarum.mouseTileX.toDouble(), Terrarum.mouseTileY.toDouble()) val mouseTile = Point2i(Terrarum.mouseTileX, Terrarum.mouseTileY) @@ -34,7 +34,7 @@ object BlockBase { if (it is ActorWithBody && it.physProp.usePhysics && it.intTilewiseHitbox.intersects(mousePoint)) ret1 = false // return is not allowed here } - if (!ret1) return@inInteractableRange ret1 + if (!ret1) return@mouseInInteractableRange ret1 } // return false if the tile underneath is: @@ -46,7 +46,7 @@ object BlockBase { gameItem.dynamicID == "wall@" + ingame.world.getTileFromWall(mouseTile.x, mouseTile.y) || BlockCodex[ingame.world.getTileFromTerrain(mouseTile.x, mouseTile.y)].nameKey.contains("ACTORBLOCK_") ) - return@inInteractableRange false + return@mouseInInteractableRange false // filter passed, do the job // FIXME this is only useful for Player @@ -74,14 +74,14 @@ object BlockBase { (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "" } - fun wireStartPrimaryUse(actor: ActorWithBody, gameItem: GameItem, delta: Float) = inInteractableRange(actor) { + fun wireStartPrimaryUse(actor: ActorWithBody, gameItem: GameItem, delta: Float) = mouseInInteractableRange(actor) { val itemID = gameItem.originalID val ingame = Terrarum.ingame!! as TerrarumIngame val mouseTile = Point2i(Terrarum.mouseTileX, Terrarum.mouseTileY) // return false if the tile is already there if (ingame.world.getAllWiresFrom(mouseTile.x, mouseTile.y)?.searchFor(itemID) != null) - return@inInteractableRange false + return@mouseInInteractableRange false // filter passed, do the job ingame.world.setTileWire( diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt index a2853ac4b..639a71504 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt @@ -6,7 +6,7 @@ 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.inInteractableRange +import net.torvald.terrarum.gameitems.mouseInInteractableRange import net.torvald.terrarum.itemproperties.Material import net.torvald.terrarum.modulebasegame.gameactors.FixtureStorageChest import net.torvald.terrarum.modulebasegame.gameactors.FixtureTikiTorch @@ -32,7 +32,7 @@ class ItemStorageChest(originalID: ItemID) : GameItem(originalID) { equipPosition = EquipPosition.HAND_GRIP } - override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = inInteractableRange(actor) { + override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = mouseInInteractableRange(actor) { val item = FixtureStorageChest() item.spawn(Terrarum.mouseTileX, Terrarum.mouseTileY - item.blockBox.height + 1) diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt index 048dccec7..b10c7ab03 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt @@ -2,13 +2,15 @@ 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.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.inInteractableRange +import net.torvald.terrarum.gameitems.mouseInInteractableRange import net.torvald.terrarum.itemproperties.Material +import net.torvald.terrarum.modulebasegame.TerrarumIngame import net.torvald.terrarum.modulebasegame.gameactors.FixtureTikiTorch import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack @@ -17,6 +19,10 @@ import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack */ class ItemTikiTorch(originalID: ItemID) : GameItem(originalID) { + 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) @@ -40,7 +46,25 @@ class ItemTikiTorch(originalID: ItemID) : GameItem(originalID) { equipPosition = EquipPosition.HAND_GRIP } - override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = inInteractableRange(actor) { + 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) diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt index 26578ea17..b6a41927e 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt @@ -9,7 +9,7 @@ import net.torvald.terrarum.gameactors.AVKey import net.torvald.terrarum.gameactors.ActorWithBody import net.torvald.terrarum.gameitems.GameItem import net.torvald.terrarum.gameitems.ItemID -import net.torvald.terrarum.gameitems.inInteractableRange +import net.torvald.terrarum.gameitems.mouseInInteractableRange import net.torvald.terrarum.itemproperties.Calculate import net.torvald.terrarum.modulebasegame.gameactors.DroppedItem import net.torvald.terrarum.modulebasegame.gameitems.PickaxeCore.BASE_MASS_AND_SIZE @@ -29,7 +29,7 @@ object PickaxeCore { fun startPrimaryUse( actor: ActorWithBody, delta: Float, item: GameItem?, mx: Int, my: Int, dropProbability: Double = 1.0, mw: Int = 1, mh: Int = 1, attackActorBlocks: Boolean = true - ) = inInteractableRange(actor) { + ) = mouseInInteractableRange(actor) { // un-round the mx val ww = INGAME.world.width val apos = actor.centrePosPoint diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt index bcb6cff15..80977e5f4 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt @@ -8,7 +8,7 @@ import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE import net.torvald.terrarum.gameactors.ActorWithBody import net.torvald.terrarum.gameitems.GameItem import net.torvald.terrarum.gameitems.ItemID -import net.torvald.terrarum.gameitems.inInteractableRange +import net.torvald.terrarum.gameitems.mouseInInteractableRange import net.torvald.terrarum.itemproperties.Material import net.torvald.terrarum.modulebasegame.TerrarumIngame import net.torvald.terrarum.modulebasegame.gameactors.DroppedItem @@ -36,7 +36,7 @@ class WireCutterAll(originalID: ItemID) : GameItem(originalID) { super.equipPosition = GameItem.EquipPosition.HAND_GRIP } - override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = inInteractableRange(actor) { + override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = mouseInInteractableRange(actor) { val ingame = Terrarum.ingame!! as TerrarumIngame val mouseTile = Point2i(Terrarum.mouseTileX, Terrarum.mouseTileY) val wires = ingame.world.getAllWiresFrom(mouseTile.x, mouseTile.y)?.cloneToList() @@ -44,7 +44,7 @@ class WireCutterAll(originalID: ItemID) : GameItem(originalID) { wires?.forEach { ingame.world.removeTileWire(mouseTile.x, mouseTile.y, it, false) ingame.addNewActor(DroppedItem(it, mouseTile.x * TILE_SIZE, mouseTile.y * TILE_SIZE)) - } ?: return@inInteractableRange false + } ?: return@mouseInInteractableRange false true } diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt index 69e4a267f..0fdebf2f5 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt @@ -34,8 +34,8 @@ class WireGraphDebugger(originalID: ItemID) : GameItem(originalID) { override fun effectWhenEquipped(actor: ActorWithBody, delta: Float) { (Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "wire_render_all" - blockMarker.shape = 3 - blockMarker.color = Color.YELLOW + blockMarker.markerShape = 3 + blockMarker.markerColour = Color.YELLOW blockMarker.isVisible = true blockMarker.update(delta)