From edc3d53f4eef6f56244471d77d163202e515011a Mon Sep 17 00:00:00 2001 From: minjaesong Date: Fri, 6 Aug 2021 13:34:17 +0900 Subject: [PATCH] refactoring around --- .../terrarum/FuckingWorldRenderer.kt.unused | 2 +- src/net/torvald/terrarum/TitleScreen.kt | 2 +- .../terrarum/blockproperties/BlockPropUtil.kt | 2 +- .../torvald/terrarum/gameworld/GameWorld.kt | 41 ++-- .../gameworld/WorldSimulator.kt | 5 +- .../gameworld/WorldTime.kt | 4 +- .../terrarum/modulebasegame/BuildingMaker.kt | 2 +- .../terrarum/modulebasegame/TerrarumIngame.kt | 2 +- .../modulebasegame/console/SetTime.kt | 2 +- .../gameworld/GameWorldExtension.kt | 18 +- .../modulebasegame/gameworld/WorldTime_old.kt | 195 ------------------ .../modulebasegame/ui/UITierOneWatch.kt | 2 +- .../torvald/terrarum/tests/TestWorldTime.kt | 2 +- .../torvald/terrarum/weather/WeatherMixer.kt | 5 +- .../terrarum/worlddrawer/BlocksDrawer.kt | 4 +- 15 files changed, 44 insertions(+), 244 deletions(-) rename src/net/torvald/terrarum/{modulebasegame => }/gameworld/WorldSimulator.kt (99%) rename src/net/torvald/terrarum/{modulebasegame => }/gameworld/WorldTime.kt (98%) delete mode 100644 src/net/torvald/terrarum/modulebasegame/gameworld/WorldTime_old.kt diff --git a/src/net/torvald/terrarum/FuckingWorldRenderer.kt.unused b/src/net/torvald/terrarum/FuckingWorldRenderer.kt.unused index 833f58be3..155d20dc7 100644 --- a/src/net/torvald/terrarum/FuckingWorldRenderer.kt.unused +++ b/src/net/torvald/terrarum/FuckingWorldRenderer.kt.unused @@ -17,7 +17,7 @@ import net.torvald.terrarum.modulebasegame.gameactors.physicssolver.CollisionSol import net.torvald.terrarum.gamecontroller.IngameController import net.torvald.terrarum.gamecontroller.KeyToggler import net.torvald.terrarum.gameworld.GameWorld -import net.torvald.terrarum.modulebasegame.gameworld.WorldSimulator +import net.torvald.terrarum.gameworld.WorldSimulator import net.torvald.terrarum.weather.WeatherMixer import net.torvald.terrarum.worlddrawer.BlocksDrawer import net.torvald.terrarum.worlddrawer.FeaturesDrawer diff --git a/src/net/torvald/terrarum/TitleScreen.kt b/src/net/torvald/terrarum/TitleScreen.kt index 2d1fbbe64..2e6f56045 100644 --- a/src/net/torvald/terrarum/TitleScreen.kt +++ b/src/net/torvald/terrarum/TitleScreen.kt @@ -23,7 +23,7 @@ import net.torvald.terrarum.modulebasegame.IngameRenderer import net.torvald.terrarum.modulebasegame.TerrarumIngame import net.torvald.terrarum.modulebasegame.gameactors.HumanoidNPC import net.torvald.terrarum.modulebasegame.gameworld.GameWorldExtension -import net.torvald.terrarum.modulebasegame.gameworld.WorldTime +import net.torvald.terrarum.gameworld.WorldTime import net.torvald.terrarum.modulebasegame.ui.UIRemoCon import net.torvald.terrarum.modulebasegame.ui.UITitleRemoConYaml import net.torvald.terrarum.weather.WeatherMixer diff --git a/src/net/torvald/terrarum/blockproperties/BlockPropUtil.kt b/src/net/torvald/terrarum/blockproperties/BlockPropUtil.kt index 58dff0dfa..3938c8e10 100644 --- a/src/net/torvald/terrarum/blockproperties/BlockPropUtil.kt +++ b/src/net/torvald/terrarum/blockproperties/BlockPropUtil.kt @@ -6,7 +6,7 @@ import net.torvald.gdx.graphics.Cvec import net.torvald.random.HQRNG import net.torvald.terrarum.Second import net.torvald.terrarum.Terrarum -import net.torvald.terrarum.modulebasegame.gameworld.WorldTime +import net.torvald.terrarum.gameworld.WorldTime import net.torvald.terrarum.weather.WeatherMixer /** diff --git a/src/net/torvald/terrarum/gameworld/GameWorld.kt b/src/net/torvald/terrarum/gameworld/GameWorld.kt index a6b2fe6aa..f386d5ec6 100644 --- a/src/net/torvald/terrarum/gameworld/GameWorld.kt +++ b/src/net/torvald/terrarum/gameworld/GameWorld.kt @@ -10,10 +10,8 @@ import net.torvald.terrarum.blockproperties.BlockCodex import net.torvald.terrarum.blockproperties.Fluid import net.torvald.terrarum.gameactors.WireActor import net.torvald.terrarum.gameitem.ItemID -import net.torvald.terrarum.modulebasegame.gameworld.WorldSimulator import net.torvald.terrarum.realestate.LandUtil import net.torvald.terrarum.serialise.ReadLayerDataZip -import net.torvald.terrarum.worlddrawer.CreateTileAtlas import net.torvald.util.SortedArrayList import org.dyn4j.geometry.Vector2 import kotlin.experimental.and @@ -102,9 +100,11 @@ open class GameWorld : Disposable { var disposed = false private set - /** time in (preferably) seconds */ - open var TIME_T: Long = 0L - open var dayLength: Int = 86400 + val worldTime: WorldTime = WorldTime( // Year EPOCH (125), Month 1, Day 1 is implied + 7 * WorldTime.HOUR_SEC + + 30L * WorldTime.MINUTE_SEC + ) + @TEMzPayload("TMaP", TEMzPayload.EXTERNAL_JSON) val tileNumberToNameMap: HashMap @@ -356,14 +356,14 @@ open class GameWorld : Disposable { return wiringGraph[blockAddr]?.get(itemID)?.con } - fun getWireStateOf(x: Int, y: Int, itemID: ItemID): Vector2? { + fun getWireGeneratorStateOf(x: Int, y: Int, itemID: ItemID): Vector2? { val (x, y) = coerceXY(x, y) val blockAddr = LandUtil.getBlockAddr(this, x, y) - return getWireStateUnsafe(blockAddr, itemID) + return getWireGeneratorStateUnsafe(blockAddr, itemID) } - fun getWireStateUnsafe(blockAddr: BlockAddress, itemID: ItemID): Vector2? { - return wiringGraph[blockAddr]?.get(itemID)?.state + fun getWireGeneratorStateUnsafe(blockAddr: BlockAddress, itemID: ItemID): Vector2? { + return wiringGraph[blockAddr]?.get(itemID)?.generatorState } fun setWireGraphOf(x: Int, y: Int, itemID: ItemID, byte: Byte) { @@ -382,19 +382,19 @@ open class GameWorld : Disposable { } } - fun setWireStateOf(x: Int, y: Int, itemID: ItemID, vector: Vector2) { + fun setWireGeneratorStateOf(x: Int, y: Int, itemID: ItemID, vector: Vector2) { val (x, y) = coerceXY(x, y) val blockAddr = LandUtil.getBlockAddr(this, x, y) - return setWireStateOfUnsafe(blockAddr, itemID, vector) + return setWireGenenatorStateOfUnsafe(blockAddr, itemID, vector) } - fun setWireStateOfUnsafe(blockAddr: BlockAddress, itemID: ItemID, vector: Vector2) { + fun setWireGenenatorStateOfUnsafe(blockAddr: BlockAddress, itemID: ItemID, vector: Vector2) { if (wiringGraph[blockAddr] == null) { wiringGraph[blockAddr] = HashMap() wiringGraph[blockAddr]!![itemID] = WiringSimCell(0, vector) } else { - wiringGraph[blockAddr]!![itemID]!!.state = vector + wiringGraph[blockAddr]!![itemID]!!.generatorState = vector } } @@ -589,9 +589,18 @@ open class GameWorld : Disposable { } } + data class WireConsumerState( + var dist: Int, + var state: Vector2 + ) + + /** + * These values must be updated by none other than [WorldSimulator]() + */ data class WiringSimCell( var con: Byte = 0, // connections - var state: Vector2 = Vector2(0.0, 0.0) + var generatorState: Vector2 = Vector2(0.0, 0.0), // i'm emitting this much power + var consumerStates: ArrayList = ArrayList() // how far away are the power sources ) fun getTemperature(worldTileX: Int, worldTileY: Int): Float? { @@ -632,6 +641,10 @@ open class GameWorld : Disposable { val DEFAULT_GRAVITATION = Vector2(0.0, 9.8) } + + open fun updateWorldTime(delta: Float) { + worldTime.update(delta) + } } infix fun Int.fmod(other: Int) = Math.floorMod(this, other) diff --git a/src/net/torvald/terrarum/modulebasegame/gameworld/WorldSimulator.kt b/src/net/torvald/terrarum/gameworld/WorldSimulator.kt similarity index 99% rename from src/net/torvald/terrarum/modulebasegame/gameworld/WorldSimulator.kt rename to src/net/torvald/terrarum/gameworld/WorldSimulator.kt index b1f29f0a3..5826e7063 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameworld/WorldSimulator.kt +++ b/src/net/torvald/terrarum/gameworld/WorldSimulator.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.modulebasegame.gameworld +package net.torvald.terrarum.gameworld import com.badlogic.gdx.Input import net.torvald.terrarum.* @@ -9,8 +9,6 @@ import net.torvald.terrarum.blockproperties.Fluid import net.torvald.terrarum.gameactors.ActorWithBody import net.torvald.terrarum.gamecontroller.KeyToggler import net.torvald.terrarum.gameitem.ItemID -import net.torvald.terrarum.gameworld.FluidType -import net.torvald.terrarum.gameworld.GameWorld import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid import org.khelekore.prtree.* import kotlin.math.roundToInt @@ -41,6 +39,7 @@ object WorldSimulator { const val FLUID_MAX_MASS = 1f // The normal, un-pressurized mass of a full water cell const val FLUID_MAX_COMP = 0.02f // How much excess water a cell can store, compared to the cell above it. A tile of fluid can contain more than MaxMass water. const val FLUID_MIN_MASS = 0.0001f //Ignore cells that are almost dry + const val WIRE_MIN_FLOW = 0.0001f const val minFlow = 0.01f const val maxSpeed = 1f // max units of water moved out of one block to another, per timestamp diff --git a/src/net/torvald/terrarum/modulebasegame/gameworld/WorldTime.kt b/src/net/torvald/terrarum/gameworld/WorldTime.kt similarity index 98% rename from src/net/torvald/terrarum/modulebasegame/gameworld/WorldTime.kt rename to src/net/torvald/terrarum/gameworld/WorldTime.kt index b078b0462..539330b5b 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameworld/WorldTime.kt +++ b/src/net/torvald/terrarum/gameworld/WorldTime.kt @@ -1,6 +1,4 @@ -package net.torvald.terrarum.modulebasegame.gameworld - -import net.torvald.terrarum.gameworld.fmod +package net.torvald.terrarum.gameworld /** diff --git a/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt b/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt index 6365a221b..f731c79c7 100644 --- a/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt +++ b/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt @@ -14,7 +14,7 @@ import net.torvald.terrarum.gameactors.* import net.torvald.terrarum.gameitem.ItemID import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid import net.torvald.terrarum.modulebasegame.gameworld.GameWorldExtension -import net.torvald.terrarum.modulebasegame.gameworld.WorldTime +import net.torvald.terrarum.gameworld.WorldTime import net.torvald.terrarum.modulebasegame.ui.Notification import net.torvald.terrarum.modulebasegame.ui.UIBuildingMakerBlockChooser import net.torvald.terrarum.modulebasegame.ui.UIBuildingMakerPenMenu diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt index 98023115d..e3583b254 100644 --- a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt +++ b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt @@ -28,7 +28,7 @@ import net.torvald.terrarum.gameactors.WireActor import net.torvald.terrarum.modulebasegame.gameactors.* import net.torvald.terrarum.modulebasegame.gameactors.physicssolver.CollisionSolver import net.torvald.terrarum.modulebasegame.gameworld.GameWorldExtension -import net.torvald.terrarum.modulebasegame.gameworld.WorldSimulator +import net.torvald.terrarum.gameworld.WorldSimulator import net.torvald.terrarum.modulebasegame.ui.* import net.torvald.terrarum.weather.WeatherMixer import net.torvald.terrarum.modulebasegame.worldgenerator.RoguelikeRandomiser diff --git a/src/net/torvald/terrarum/modulebasegame/console/SetTime.kt b/src/net/torvald/terrarum/modulebasegame/console/SetTime.kt index f0894a864..a686957d6 100644 --- a/src/net/torvald/terrarum/modulebasegame/console/SetTime.kt +++ b/src/net/torvald/terrarum/modulebasegame/console/SetTime.kt @@ -1,6 +1,6 @@ package net.torvald.terrarum.modulebasegame.console -import net.torvald.terrarum.modulebasegame.gameworld.WorldTime +import net.torvald.terrarum.gameworld.WorldTime import net.torvald.terrarum.Terrarum import net.torvald.terrarum.console.ConsoleCommand import net.torvald.terrarum.console.Echo diff --git a/src/net/torvald/terrarum/modulebasegame/gameworld/GameWorldExtension.kt b/src/net/torvald/terrarum/modulebasegame/gameworld/GameWorldExtension.kt index c4ab81111..5b45fe4ce 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameworld/GameWorldExtension.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameworld/GameWorldExtension.kt @@ -1,6 +1,7 @@ package net.torvald.terrarum.modulebasegame.gameworld import net.torvald.terrarum.gameworld.GameWorld +import net.torvald.terrarum.gameworld.WorldTime import net.torvald.terrarum.serialise.ReadLayerDataZip /** @@ -12,17 +13,8 @@ class GameWorldExtension : GameWorld { internal constructor(worldIndex: Int, layerData: ReadLayerDataZip.LayerData, creationTIME_T: Long, lastPlayTIME_T: Long, totalPlayTime: Int) : super(worldIndex, layerData, creationTIME_T, lastPlayTIME_T, totalPlayTime) - /** Extended world time */ - val worldTime: WorldTime val economy = GameEconomy() - override var TIME_T: Long - get() = worldTime.TIME_T - set(value) { worldTime.TIME_T = value } - override var dayLength: Int - get() = WorldTime.DAY_LENGTH - set(value) { throw UnsupportedOperationException() } - // delegated properties // /*val layerWall: MapLayer; get() = baseworld.layerWall @@ -44,14 +36,6 @@ class GameWorldExtension : GameWorld { val damageDataArray: ByteArray; get() = baseworld.damageDataArray*/ init { - worldTime = WorldTime( // Year EPOCH (125), Month 1, Day 1 is implied - 7 * WorldTime.HOUR_SEC + - 30L * WorldTime.MINUTE_SEC - ) - } - - fun updateWorldTime(delta: Float) { - worldTime.update(delta) } } \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/gameworld/WorldTime_old.kt b/src/net/torvald/terrarum/modulebasegame/gameworld/WorldTime_old.kt deleted file mode 100644 index d7327c557..000000000 --- a/src/net/torvald/terrarum/modulebasegame/gameworld/WorldTime_old.kt +++ /dev/null @@ -1,195 +0,0 @@ -package net.torvald.terrarum.modulebasegame.gameworld - -/** - * The World Calendar implementation of Dwarven Calendar (we're talking about DF!) - * - * Please see: - * https://en.wikipedia.org/wiki/World_Calendar - * http://dwarffortresswiki.org/index.php/DF2014:Calendar - * - * Normal format for day is - * Tysdag 12th Granite - * - * And there is no AM/PM concept, 22-hour clock is forced. - * - * Created by minjaesong on 2016-01-24. - */ -@Deprecated("Are you even reading the name?") -class YeOldeWorldTime { - - internal var seconds: Int // 0 - 59 - internal var minutes: Int // 0 - 59 - internal var hours: Int // 0 - 21 - - // days on the year - internal var yearlyDays: Int //NOT a calendar day - - internal var days: Int // 1 - 31 - internal var months: Int // 1 - 12 - internal var years: Int // 1+ - - internal var dayOfWeek: Int //0: Mondag-The first day of weekday (0 - 7) - - internal var timeDelta = 1 - - @Transient private var realMillisec: Int - - val DAY_NAMES = arrayOf(//daynames are taken from Nynorsk (Ƅ -> o) - "Mondag", "Tysdag", "Midvikdag" //From Islenska Miưvikudagur - , "Torsdag", "Fredag", "Laurdag", "Sundag", "Verddag" //From Norsk word 'verd' - ) - val DAY_NAMES_SHORT = arrayOf("Mon", "Tys", "Mid", "Tor", "Fre", "Lau", "Sun", "Ver") - - val MONTH_NAMES = arrayOf( - "Opal", "Obsidian", "Granite", "Slate", "Felsite", "Hematite", - "Malachite", "Galena", "Limestone", "Sandstone", "Timber", "Moonstone" - ) - val MONTH_NAMES_SHORT = arrayOf("Opal", "Obsi", "Gran", "Slat", "Fels", "Hema", - "Mala", "Gale", "Lime", "Sand", "Timb", "Moon") - - - @Transient val REAL_SEC_IN_MILLI = 1000 - - companion object { - /** Each day is 22-hour long */ - val DAY_LENGTH = 79200 //must be the multiple of 3600 - - val HOUR_SEC: Int = 3600 - val MINUTE_SEC: Int = 60 - val HOUR_MIN: Int = 60 - val GAME_MIN_TO_REAL_SEC: Float = 60f - - val YEAR_DAYS: Int = 365 - - fun parseTime(s: String): Int = - if (s.length >= 4 && s.contains('h')) { - s.toLowerCase().substringBefore('h').toInt() * WorldTime.HOUR_SEC + - s.toLowerCase().substringAfter('h').toInt() * WorldTime.MINUTE_SEC - } - else if (s.endsWith("h", true)) { - s.toLowerCase().substring(0, s.length - 1).toInt() * WorldTime.HOUR_SEC - } - else { - s.toInt() - } - } - - init { - // The day when the new world ever is being made. - // If we use Multiverse system (which replaces Terraria's "hack" - // as a reward rather than a cheat), time of current world's time is - // copied to the new world's. (it's Multi-nation rather than Multiverse) - seconds = 0 - minutes = 30 - hours = 8 - yearlyDays = 73 - days = 12 - months = 3 - years = 125 - dayOfWeek = 1 // Tysdag - realMillisec = 0 - } - - fun update(delta: Int) { - val oldsec = seconds - - //time - realMillisec += delta * timeDelta - val newsec = Math.round(GAME_MIN_TO_REAL_SEC / REAL_SEC_IN_MILLI.toFloat() * realMillisec.toFloat()) - seconds = newsec - - if (realMillisec >= REAL_SEC_IN_MILLI) - realMillisec -= REAL_SEC_IN_MILLI - - kickVariables() - } - - /** - * How much time has passed today, in seconds. - * 0 == 6 AM - * @return - */ - val elapsedSeconds: Int - get() = (HOUR_SEC * hours + MINUTE_SEC * minutes + seconds) % DAY_LENGTH - - /** Sets time of this day. */ - fun setTime(t: Int) { - days += t / DAY_LENGTH - hours = t / HOUR_SEC - minutes = (t - HOUR_SEC * hours) / MINUTE_SEC - seconds = t - minutes * MINUTE_SEC - yearlyDays += t / DAY_LENGTH - } - - fun addTime(t: Int) { - setTime(elapsedSeconds + t) - } - - fun setTimeDelta(d: Int) { - timeDelta = if (d < 0) 0 else d - } - - val dayName: String - get() = DAY_NAMES[dayOfWeek] - - private fun kickVariables() { - if (seconds >= MINUTE_SEC) { - seconds = 0 - minutes += 1 - } - - if (minutes >= HOUR_MIN) { - minutes = 0 - hours += 1 - } - - if (hours >= DAY_LENGTH / HOUR_SEC) { - hours = 0 - days += 1 - yearlyDays += 1 - dayOfWeek += 1 - } - - //calendar (the world calendar) - if (dayOfWeek == 7) { - dayOfWeek = 0 - } - if (months == 12 && days == 31) { - dayOfWeek = 7 - } - - if (months == 12 && days == 32) { - days = 1 - months = 1 - years++ - } - else if ((months == 1 || months == 4 || months == 7 || months == 10) && days > 31) { - days = 1 - months++ - } - else if (days > 30) { - days = 1 - months++ - } - - if (months > 12) { - months = 1 - years++ - yearlyDays = 1 - } - } - - /** Format: "%A %d %B %Y %X" */ - fun getFormattedTime() = "${getDayNameFull()} " + - "$days " + - "${getMonthNameFull()} " + - "$years " + - "${String.format("%02d", hours)}:" + - "${String.format("%02d", minutes)}:" + - "${String.format("%02d", seconds)}" - - fun getDayNameFull() = DAY_NAMES[dayOfWeek] - fun getDayNameShort() = DAY_NAMES_SHORT[dayOfWeek] - fun getMonthNameFull() = MONTH_NAMES[months - 1] - fun getMonthNameShort() = MONTH_NAMES_SHORT[months - 1] -} \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITierOneWatch.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITierOneWatch.kt index 98e931a2d..cb5bd98a1 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITierOneWatch.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITierOneWatch.kt @@ -7,7 +7,7 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch import net.torvald.terrarum.* import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid import net.torvald.terrarum.modulebasegame.gameworld.GameWorldExtension -import net.torvald.terrarum.modulebasegame.gameworld.WorldTime +import net.torvald.terrarum.gameworld.WorldTime import net.torvald.terrarum.modulebasegame.imagefont.WatchFont import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack diff --git a/src/net/torvald/terrarum/tests/TestWorldTime.kt b/src/net/torvald/terrarum/tests/TestWorldTime.kt index 71b3afba9..708a892f2 100644 --- a/src/net/torvald/terrarum/tests/TestWorldTime.kt +++ b/src/net/torvald/terrarum/tests/TestWorldTime.kt @@ -1,6 +1,6 @@ package net.torvald.terrarum.tests -import net.torvald.terrarum.modulebasegame.gameworld.WorldTime +import net.torvald.terrarum.gameworld.WorldTime //import org.junit.Test /** diff --git a/src/net/torvald/terrarum/weather/WeatherMixer.kt b/src/net/torvald/terrarum/weather/WeatherMixer.kt index 055e02f07..df34414d3 100644 --- a/src/net/torvald/terrarum/weather/WeatherMixer.kt +++ b/src/net/torvald/terrarum/weather/WeatherMixer.kt @@ -12,6 +12,7 @@ import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZEF import net.torvald.terrarum.gameactors.ActorWithBody import net.torvald.terrarum.gamecontroller.KeyToggler import net.torvald.terrarum.gameworld.GameWorld +import net.torvald.terrarum.gameworld.WorldTime import net.torvald.terrarum.modulebasegame.IngameRenderer import net.torvald.terrarum.modulebasegame.RNGConsumer import net.torvald.terrarum.modulebasegame.TerrarumIngame @@ -127,7 +128,7 @@ internal object WeatherMixer : RNGConsumer { // we will not care for nextSkybox for now - val timeNow = world.TIME_T.toInt() % world.dayLength + val timeNow = world.worldTime.TIME_T.toInt() % WorldTime.DAY_LENGTH val skyboxColourMap = currentWeather.skyboxGradColourMap // calculate global light @@ -228,7 +229,7 @@ internal object WeatherMixer : RNGConsumer { getGradientColour(world, currentWeather.skyboxGradColourMap, 2, timeInSec) fun getGradientColour(world: GameWorld, colorMap: GdxColorMap, row: Int, timeInSec: Int): Cvec { - val dataPointDistance = world.dayLength / colorMap.width + val dataPointDistance = WorldTime.DAY_LENGTH / colorMap.width val phaseThis: Int = timeInSec / dataPointDistance // x-coord in gradmap val phaseNext: Int = (phaseThis + 1) % colorMap.width diff --git a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt index 7a9f743fe..318037d74 100644 --- a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt +++ b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt @@ -14,8 +14,8 @@ import net.torvald.terrarum.gameitem.ItemID import net.torvald.terrarum.gameworld.GameWorld import net.torvald.terrarum.gameworld.fmod import net.torvald.terrarum.modulebasegame.gameworld.GameWorldExtension -import net.torvald.terrarum.modulebasegame.gameworld.WorldSimulator -import net.torvald.terrarum.modulebasegame.gameworld.WorldTime +import net.torvald.terrarum.gameworld.WorldSimulator +import net.torvald.terrarum.gameworld.WorldTime import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack import kotlin.math.roundToInt