diff --git a/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt b/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt index 1bf649421..6d177eac2 100644 --- a/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt +++ b/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt @@ -13,7 +13,7 @@ import kotlin.math.floor /** * Used as construction markers and fixture ghost images */ -class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = PhysProperties.MOBILE_OBJECT) { +class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = PhysProperties.MOBILE_OBJECT), NoSerialise { private val defaultSize = 16.0 diff --git a/src/net/torvald/terrarum/gameactors/NoSerialise.kt b/src/net/torvald/terrarum/gameactors/NoSerialise.kt new file mode 100644 index 000000000..0a2ffe1bb --- /dev/null +++ b/src/net/torvald/terrarum/gameactors/NoSerialise.kt @@ -0,0 +1,6 @@ +package net.torvald.terrarum.gameactors + +/** + * Created by minjaesong on 2022-09-02. + */ +interface NoSerialise \ No newline at end of file diff --git a/src/net/torvald/terrarum/gameactors/WireActor.kt b/src/net/torvald/terrarum/gameactors/WireActor.kt index 187539129..fc9473040 100644 --- a/src/net/torvald/terrarum/gameactors/WireActor.kt +++ b/src/net/torvald/terrarum/gameactors/WireActor.kt @@ -11,7 +11,7 @@ import net.torvald.terrarum.gameitems.ItemID * * Created by minjaesong on 2021-07-30. */ -class WireActor : ActorWithBody { +class WireActor : ActorWithBody, NoSerialise { companion object { val WIRE_NEARBY = arrayOf( diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/IngamePlayer.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/IngamePlayer.kt index 07260d3dd..d6b7bc985 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/IngamePlayer.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/IngamePlayer.kt @@ -1,23 +1,16 @@ package net.torvald.terrarum.modulebasegame.gameactors import com.badlogic.gdx.Gdx -import com.badlogic.gdx.graphics.Texture import com.badlogic.gdx.graphics.g2d.TextureRegion import net.torvald.spriteanimation.HasAssembledSprite -import net.torvald.spriteanimation.SpriteAnimation -import net.torvald.terrarum.spriteassembler.ADProperties -import net.torvald.terrarum.spriteassembler.AssembleSheetPixmap import net.torvald.terrarum.App import net.torvald.terrarum.Terrarum import net.torvald.terrarum.gameactors.AVKey -import net.torvald.terrarum.gameitems.GameItem -import net.torvald.terrarum.gameitems.ItemID +import net.torvald.terrarum.gameactors.NoSerialise import net.torvald.terrarum.itemproperties.ItemRemapTable import net.torvald.terrarum.itemproperties.ItemTable -import net.torvald.terrarum.savegame.DiskSkimmer -import net.torvald.terrarum.savegame.SimpleFileSystem +import net.torvald.terrarum.spriteassembler.ADProperties import net.torvald.terrarum.utils.PlayerLastStatus -import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack import java.util.* @@ -27,7 +20,7 @@ import java.util.* * Created by minjaesong on 2015-12-31. */ -class IngamePlayer : ActorHumanoid, HasAssembledSprite { +class IngamePlayer : ActorHumanoid, HasAssembledSprite, NoSerialise { val creationTime = App.getTIME_T() var lastPlayTime = App.getTIME_T() // cumulative value for the savegame diff --git a/src/net/torvald/terrarum/serialise/WriteWorld.kt b/src/net/torvald/terrarum/serialise/WriteWorld.kt index 6e8420834..4037e2306 100644 --- a/src/net/torvald/terrarum/serialise/WriteWorld.kt +++ b/src/net/torvald/terrarum/serialise/WriteWorld.kt @@ -1,10 +1,8 @@ package net.torvald.terrarum.serialise -import net.torvald.terrarum.CommonResourcePool import net.torvald.terrarum.ItemCodex -import net.torvald.terrarum.ReferencingRanges import net.torvald.terrarum.gameactors.Actor -import net.torvald.terrarum.gameactors.BlockMarkerActor +import net.torvald.terrarum.gameactors.NoSerialise import net.torvald.terrarum.gameworld.BlockLayer import net.torvald.terrarum.gameworld.GameWorld import net.torvald.terrarum.gameworld.GameWorldTitleScreen @@ -25,10 +23,7 @@ import java.io.Reader object WriteWorld { fun actorAcceptable(actor: Actor): Boolean { - return actor.referenceID !in ReferencingRanges.ACTORS_WIRES && - actor.referenceID !in ReferencingRanges.ACTORS_WIRES_HELPER && - actor != (CommonResourcePool.get("blockmarking_actor") as BlockMarkerActor) && - actor !is IngamePlayer // IngamePlayers must not be saved with the world + return actor !is NoSerialise // IngamePlayers is also NoSerialised because they must not be saved with the world } private fun preWrite(ingame: TerrarumIngame, time_t: Long, actorsList: List, playersList: List): GameWorld {