mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-14 20:44:05 +09:00
wires are simulated on every other update
This commit is contained in:
@@ -8,6 +8,7 @@ import net.torvald.terrarum.blockproperties.Fluid
|
|||||||
import net.torvald.terrarum.gameactors.ActorWithBody
|
import net.torvald.terrarum.gameactors.ActorWithBody
|
||||||
import net.torvald.terrarum.gameactors.Controllable
|
import net.torvald.terrarum.gameactors.Controllable
|
||||||
import net.torvald.terrarum.gameitem.ItemID
|
import net.torvald.terrarum.gameitem.ItemID
|
||||||
|
import net.torvald.terrarum.modulebasegame.TerrarumIngame
|
||||||
import net.torvald.terrarum.modulebasegame.TerrarumIngame.Companion.inUpdateRange
|
import net.torvald.terrarum.modulebasegame.TerrarumIngame.Companion.inUpdateRange
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.*
|
import net.torvald.terrarum.modulebasegame.gameactors.*
|
||||||
import org.dyn4j.geometry.Vector2
|
import org.dyn4j.geometry.Vector2
|
||||||
@@ -54,8 +55,8 @@ object WorldSimulator {
|
|||||||
/** Bottom-right point */
|
/** Bottom-right point */
|
||||||
var updateYTo = 0
|
var updateYTo = 0
|
||||||
|
|
||||||
private val ingame: IngameInstance
|
private val ingame: TerrarumIngame
|
||||||
get() = Terrarum.ingame!!
|
get() = Terrarum.ingame!! as TerrarumIngame
|
||||||
private val world: GameWorld
|
private val world: GameWorld
|
||||||
get() = ingame.world
|
get() = ingame.world
|
||||||
|
|
||||||
@@ -85,8 +86,13 @@ object WorldSimulator {
|
|||||||
App.measureDebugTime("WorldSimulator.fallables") {
|
App.measureDebugTime("WorldSimulator.fallables") {
|
||||||
displaceFallables(delta)
|
displaceFallables(delta)
|
||||||
}
|
}
|
||||||
App.measureDebugTime("WorldSimulator.wires") {
|
if (ingame.WORLD_UPDATE_TIMER % 2 == 1) {
|
||||||
simulateWires(delta)
|
App.measureDebugTime("WorldSimulator.wires") {
|
||||||
|
simulateWires(delta)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// TODO update logic
|
||||||
}
|
}
|
||||||
App.measureDebugTime("WorldSimulator.collisionDroppedItem") {
|
App.measureDebugTime("WorldSimulator.collisionDroppedItem") {
|
||||||
collideDroppedItems()
|
collideDroppedItems()
|
||||||
|
|||||||
@@ -32,12 +32,12 @@ import net.torvald.terrarum.modulebasegame.worldgenerator.RoguelikeRandomiser
|
|||||||
import net.torvald.terrarum.modulebasegame.worldgenerator.Worldgen
|
import net.torvald.terrarum.modulebasegame.worldgenerator.Worldgen
|
||||||
import net.torvald.terrarum.modulebasegame.worldgenerator.WorldgenParams
|
import net.torvald.terrarum.modulebasegame.worldgenerator.WorldgenParams
|
||||||
import net.torvald.terrarum.realestate.LandUtil
|
import net.torvald.terrarum.realestate.LandUtil
|
||||||
|
import net.torvald.terrarum.savegame.DiskSkimmer
|
||||||
|
import net.torvald.terrarum.savegame.VDUtil
|
||||||
import net.torvald.terrarum.serialise.Common
|
import net.torvald.terrarum.serialise.Common
|
||||||
import net.torvald.terrarum.serialise.LoadSavegame
|
import net.torvald.terrarum.serialise.LoadSavegame
|
||||||
import net.torvald.terrarum.serialise.ReadActor
|
import net.torvald.terrarum.serialise.ReadActor
|
||||||
import net.torvald.terrarum.serialise.WriteSavegame
|
import net.torvald.terrarum.serialise.WriteSavegame
|
||||||
import net.torvald.terrarum.savegame.DiskSkimmer
|
|
||||||
import net.torvald.terrarum.savegame.VDUtil
|
|
||||||
import net.torvald.terrarum.ui.Toolkit
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
import net.torvald.terrarum.ui.UIAutosaveNotifier
|
import net.torvald.terrarum.ui.UIAutosaveNotifier
|
||||||
import net.torvald.terrarum.ui.UICanvas
|
import net.torvald.terrarum.ui.UICanvas
|
||||||
@@ -59,6 +59,8 @@ import java.util.concurrent.locks.ReentrantLock
|
|||||||
|
|
||||||
open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
|
open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
|
||||||
|
|
||||||
|
var WORLD_UPDATE_TIMER = Random().nextInt(1020) + 1; private set
|
||||||
|
|
||||||
var historicalFigureIDBucket: ArrayList<Int> = ArrayList<Int>()
|
var historicalFigureIDBucket: ArrayList<Int> = ArrayList<Int>()
|
||||||
|
|
||||||
|
|
||||||
@@ -671,7 +673,7 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
|
|||||||
|
|
||||||
|
|
||||||
// define custom update rate
|
// define custom update rate
|
||||||
val updateRate = if (KeyToggler.isOn(Input.Keys.APOSTROPHE)) 1f / 8f else App.UPDATE_RATE
|
val updateRate = App.UPDATE_RATE // if (KeyToggler.isOn(Input.Keys.APOSTROPHE)) 1f / 8f else App.UPDATE_RATE
|
||||||
|
|
||||||
// ASYNCHRONOUS UPDATE AND RENDER //
|
// ASYNCHRONOUS UPDATE AND RENDER //
|
||||||
|
|
||||||
@@ -776,6 +778,8 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
|
|||||||
}
|
}
|
||||||
oldCamX = WorldCamera.x
|
oldCamX = WorldCamera.x
|
||||||
|
|
||||||
|
|
||||||
|
WORLD_UPDATE_TIMER += 1
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!paused || newWorldLoadedLatch) {
|
if (!paused || newWorldLoadedLatch) {
|
||||||
|
|||||||
Reference in New Issue
Block a user