From f54a2133f965c5e979949e68271aac7e3eb8b9ad Mon Sep 17 00:00:00 2001 From: minjaesong Date: Thu, 4 Jan 2024 16:38:58 +0900 Subject: [PATCH] new param 'frameDelta' on every render() function --- .../gameitems/ItemWearableWorldRadar.kt | 2 +- .../modulecomputers/ui/UIHomeComputer.kt | 2 +- src/net/torvald/btex/BTeXDocument.kt | 6 +- .../AssembledSpriteAnimation.kt | 2 +- .../spriteanimation/SpriteAnimation.kt | 4 +- src/net/torvald/terrarum/App.java | 2 +- .../torvald/terrarum/GameUpdateGovernor.kt | 4 +- src/net/torvald/terrarum/ModOptionsHost.kt | 4 +- .../torvald/terrarum/TerrarumPostProcessor.kt | 4 +- src/net/torvald/terrarum/UIFakeGradOverlay.kt | 4 +- .../torvald/terrarum/UIItemInventoryCatBar.kt | 8 +- .../terrarum/UIItemInventoryElemSimple.kt | 2 +- .../terrarum/UIItemInventoryElemWide.kt | 2 +- .../terrarum/gameactors/ActorWithBody.kt | 12 +-- .../terrarum/gameactors/BlockMarkerActor.kt | 8 +- .../torvald/terrarum/gameactors/WireActor.kt | 4 +- .../terrarum/gameparticles/ParticleBase.kt | 4 +- .../gameparticles/ParticleVanishingTexture.kt | 4 +- .../terrarum/modulebasegame/BuildingMaker.kt | 14 +-- .../terrarum/modulebasegame/IngameRenderer.kt | 85 ++++++++++--------- .../terrarum/modulebasegame/TerrarumIngame.kt | 44 +++++++--- .../terrarum/modulebasegame/TitleScreen.kt | 23 ++--- .../UIBuildingMakerGetFilename.kt | 4 +- .../modulebasegame/gameactors/DroppedItem.kt | 2 +- .../gameactors/FixtureTikiTorch.kt | 4 +- .../gameactors/FixtureWorldPortal.kt | 4 +- .../modulebasegame/gameactors/PhysTestBall.kt | 2 +- .../gameactors/PhysTestLuarLander.kt | 4 +- .../gameactors/ProjectileSimple.kt | 4 +- .../modulebasegame/ui/MessageWindow.kt | 2 +- .../modulebasegame/ui/Notification.kt | 2 +- .../terrarum/modulebasegame/ui/NullUI.kt | 2 +- .../terrarum/modulebasegame/ui/UIBasicInfo.kt | 2 +- .../ui/UIBuildingMakerBlockChooser.kt | 10 +-- .../ui/UIBuildingMakerPenMenu.kt | 4 +- .../ui/UIBuildingMakerToolbox.kt | 4 +- .../modulebasegame/ui/UICheatDetected.kt | 2 +- .../terrarum/modulebasegame/ui/UICrafting.kt | 4 +- .../ui/UIGraphicsControlPanel.kt | 4 +- .../terrarum/modulebasegame/ui/UIIMEConfig.kt | 8 +- .../modulebasegame/ui/UIImportAvatar.kt | 6 +- .../terrarum/modulebasegame/ui/UIInventory.kt | 10 +-- .../modulebasegame/ui/UIInventoryCells.kt | 6 +- .../modulebasegame/ui/UIInventoryEscMenu.kt | 32 +++---- .../modulebasegame/ui/UIInventoryFull.kt | 6 +- .../modulebasegame/ui/UIInventoryMinimap.kt | 2 +- .../ui/UIItemInventoryCellBase.kt | 2 +- .../ui/UIItemInventoryEquippedView.kt | 4 +- .../ui/UIItemInventoryItemGrid.kt | 8 +- .../ui/UIItemListNavBarVertical.kt | 10 +-- .../modulebasegame/ui/UIItemSaving.kt | 2 +- .../ui/UIKeyboardControlPanel.kt | 22 ++--- .../modulebasegame/ui/UILoadAutosave.kt | 8 +- .../modulebasegame/ui/UILoadDemoSavefiles.kt | 14 +-- .../terrarum/modulebasegame/ui/UILoadList.kt | 4 +- .../modulebasegame/ui/UILoadManage.kt | 16 ++-- .../modulebasegame/ui/UILoadNewCharacter.kt | 2 +- .../modulebasegame/ui/UILoadSavegame.kt | 4 +- .../modulebasegame/ui/UINewCharacter.kt | 4 +- .../terrarum/modulebasegame/ui/UINewWorld.kt | 4 +- .../modulebasegame/ui/UIPaletteSelector.kt | 2 +- .../ui/UIPerformanceControlPanel.kt | 4 +- .../ui/UIProxyLoadLatestSave.kt | 2 +- .../ui/UIProxyNewBuildingMaker.kt | 2 +- .../modulebasegame/ui/UIProxyNewRandomGame.kt | 2 +- .../modulebasegame/ui/UIQuickslotBar.kt | 2 +- .../modulebasegame/ui/UIQuickslotPie.kt | 2 +- .../terrarum/modulebasegame/ui/UIRemoCon.kt | 10 +-- .../modulebasegame/ui/UIScreenZoom.kt | 2 +- .../terrarum/modulebasegame/ui/UIShare.kt | 4 +- .../modulebasegame/ui/UISoundControlPanel.kt | 4 +- .../modulebasegame/ui/UIStorageChest.kt | 8 +- .../modulebasegame/ui/UITitleLanguage.kt | 6 +- .../modulebasegame/ui/UITitleModules.kt | 4 +- .../modulebasegame/ui/UITitleRemoConRoot.kt | 4 +- .../modulebasegame/ui/UITitleWallOfText.kt | 8 +- .../terrarum/modulebasegame/ui/UITooltip.kt | 2 +- .../modulebasegame/ui/UIVitalMetre.kt | 2 +- .../modulebasegame/ui/UIWallCalendar.kt | 2 +- .../modulebasegame/ui/UIWatchLargeAnalogue.kt | 2 +- .../modulebasegame/ui/UIWatchLargeDigital.kt | 2 +- .../modulebasegame/ui/UIWorldPortal.kt | 10 +-- .../modulebasegame/ui/UIWorldPortalCargo.kt | 8 +- .../modulebasegame/ui/UIWorldPortalDelete.kt | 6 +- .../modulebasegame/ui/UIWorldPortalListing.kt | 14 +-- .../modulebasegame/ui/UIWorldPortalRename.kt | 6 +- .../modulebasegame/ui/UIWorldPortalSearch.kt | 4 +- .../modulebasegame/ui/UIWorldPortalShare.kt | 4 +- .../ui/UIWorldPortalUseInvitation.kt | 4 +- src/net/torvald/terrarum/tests/UIElemTest.kt | 6 +- .../terrarum/ui/BasicDebugInfoWindow.kt | 2 +- src/net/torvald/terrarum/ui/ConsoleWindow.kt | 4 +- .../torvald/terrarum/ui/UIAutosaveNotifier.kt | 2 +- src/net/torvald/terrarum/ui/UICanvas.kt | 6 +- src/net/torvald/terrarum/ui/UIHandler.kt | 6 +- src/net/torvald/terrarum/ui/UIItem.kt | 6 +- .../torvald/terrarum/ui/UIItemConfigKeycap.kt | 4 +- .../torvald/terrarum/ui/UIItemHorzSlider.kt | 4 +- .../torvald/terrarum/ui/UIItemImageButton.kt | 6 +- .../torvald/terrarum/ui/UIItemImageGallery.kt | 2 +- .../terrarum/ui/UIItemInlineRadioButtons.kt | 4 +- src/net/torvald/terrarum/ui/UIItemList.kt | 4 +- .../terrarum/ui/UIItemModuleInfoCell.kt | 2 +- src/net/torvald/terrarum/ui/UIItemSpinner.kt | 4 +- src/net/torvald/terrarum/ui/UIItemTextArea.kt | 2 +- .../torvald/terrarum/ui/UIItemTextButton.kt | 2 +- .../terrarum/ui/UIItemTextButtonList.kt | 4 +- .../terrarum/ui/UIItemTextLineInput.kt | 4 +- .../torvald/terrarum/ui/UIItemTextSelector.kt | 4 +- .../torvald/terrarum/ui/UIItemToggleButton.kt | 4 +- .../terrarum/ui/UIItemTransitionContainer.kt | 8 +- .../torvald/terrarum/ui/UIItemVertSlider.kt | 4 +- src/net/torvald/terrarum/ui/UINSMenu.kt | 4 +- .../torvald/terrarum/weather/WeatherMixer.kt | 8 +- .../torvald/terrarum/weather/WeatherObject.kt | 2 +- .../terrarum/weather/WeatherObjectCloud.kt | 4 +- 116 files changed, 374 insertions(+), 348 deletions(-) diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt index 280a34a9b..a56b4ec2c 100644 --- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt +++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt @@ -119,7 +119,7 @@ class WearableWorldRadarUI(val device: VM) : UICanvas() { device.update(delta) } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.end() batch.color = Color.WHITE diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/ui/UIHomeComputer.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/ui/UIHomeComputer.kt index 5d0f87805..d41163b55 100644 --- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/ui/UIHomeComputer.kt +++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/ui/UIHomeComputer.kt @@ -50,7 +50,7 @@ internal class UIHomeComputer : UICanvas( override fun updateUI(delta: Float) { } - override fun renderUI(otherBatch: SpriteBatch, otherCamera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, otherBatch: SpriteBatch, otherCamera: OrthographicCamera) { otherBatch.end() fbo.inAction(camera, batch) { diff --git a/src/net/torvald/btex/BTeXDocument.kt b/src/net/torvald/btex/BTeXDocument.kt index 4fadfcc73..c162d8ecd 100644 --- a/src/net/torvald/btex/BTeXDocument.kt +++ b/src/net/torvald/btex/BTeXDocument.kt @@ -36,8 +36,8 @@ class BTeXDocument { pages.last().appendDrawCall(drawCall) } - fun render(batch: SpriteBatch, page: Int, x: Int, y: Int) { - pages[page].render(batch, x, y) + fun render(frameDelta: Float, batch: SpriteBatch, page: Int, x: Int, y: Int) { + pages[page].render(frameDelta, batch, x, y) } } @@ -52,7 +52,7 @@ class BTeXPage( drawCalls.add(drawCall) } - fun render(batch: SpriteBatch, x: Int, y: Int) { + fun render(frameDelta: Float, batch: SpriteBatch, x: Int, y: Int) { batch.color = back Toolkit.fillArea(batch, x, y, width, height) drawCalls.forEach { diff --git a/src/net/torvald/spriteanimation/AssembledSpriteAnimation.kt b/src/net/torvald/spriteanimation/AssembledSpriteAnimation.kt index e3ae5fe29..393e652a0 100644 --- a/src/net/torvald/spriteanimation/AssembledSpriteAnimation.kt +++ b/src/net/torvald/spriteanimation/AssembledSpriteAnimation.kt @@ -165,7 +165,7 @@ class AssembledSpriteAnimation( } ?: throw NullPointerException("Animation with name '$animNameRoot' is not found") } - override fun render(batch: SpriteBatch, posX: Float, posY: Float, scale: Float) { + override fun render(frameDelta: Float, batch: SpriteBatch, posX: Float, posY: Float, scale: Float) { if (parentActor.isVisible) { batch.color = colourFilter renderThisAnimation(batch, posX, posY, scale, "${currentAnimation}_${1+currentFrame}") diff --git a/src/net/torvald/spriteanimation/SpriteAnimation.kt b/src/net/torvald/spriteanimation/SpriteAnimation.kt index 005a624cf..65a66b474 100644 --- a/src/net/torvald/spriteanimation/SpriteAnimation.kt +++ b/src/net/torvald/spriteanimation/SpriteAnimation.kt @@ -16,7 +16,7 @@ import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack abstract class SpriteAnimation(@Transient val parentActor: ActorWithBody) : Disposable { protected abstract val currentDelay: Second abstract fun update(delta: Float) - abstract fun render(batch: SpriteBatch, posX: Float, posY: Float, scale: Float = 1f) + abstract fun render(frameDelta: Float, batch: SpriteBatch, posX: Float, posY: Float, scale: Float = 1f) var flipHorizontal = false var flipVertical = false @@ -143,7 +143,7 @@ class SheetSpriteAnimation(parentActor: ActorWithBody) : SpriteAnimation(parentA * * * @param scale */ - override fun render(batch: SpriteBatch, posX: Float, posY: Float, scale: Float) { + override fun render(frameDelta: Float, batch: SpriteBatch, posX: Float, posY: Float, scale: Float) { assert(cellWidth > 0 || cellHeight > 0) { "Sprite width or height is set to zero! ($cellWidth, $cellHeight); master: $parentActor" } diff --git a/src/net/torvald/terrarum/App.java b/src/net/torvald/terrarum/App.java index e843d5147..810063304 100644 --- a/src/net/torvald/terrarum/App.java +++ b/src/net/torvald/terrarum/App.java @@ -646,7 +646,7 @@ public class App implements ApplicationListener { firePostInit(); currentScreen.render(UPDATE_RATE); - postProcessorOutFBO = TerrarumPostProcessor.INSTANCE.draw(camera.combined, renderFBO); + postProcessorOutFBO = TerrarumPostProcessor.INSTANCE.draw(Gdx.graphics.getDeltaTime(), camera.combined, renderFBO); } diff --git a/src/net/torvald/terrarum/GameUpdateGovernor.kt b/src/net/torvald/terrarum/GameUpdateGovernor.kt index 4daf572cd..2f2c70f56 100644 --- a/src/net/torvald/terrarum/GameUpdateGovernor.kt +++ b/src/net/torvald/terrarum/GameUpdateGovernor.kt @@ -37,14 +37,14 @@ object ConsistentUpdateRate : GameUpdateGovernor { var i = 0L while (akku >= tickInterval) { - App.measureDebugTime("Ingame.Update") { updateFunction(tickInterval) } + App.measureDebugTime("Ingame.Update") { updateFunction(tickInterval) } // update-delta akku -= tickInterval i += 1 } App.setDebugTime("Ingame.UpdateCounter", i) /** RENDER CODE GOES HERE */ - App.measureDebugTime("Ingame.Render") { renderFunction(tickInterval) } + App.measureDebugTime("Ingame.Render") { renderFunction(deltaTime) } // frame-delta, should be identical to Gdx.graphics.deltaTime } override fun reset() { diff --git a/src/net/torvald/terrarum/ModOptionsHost.kt b/src/net/torvald/terrarum/ModOptionsHost.kt index a0443573f..426ae0b3f 100644 --- a/src/net/torvald/terrarum/ModOptionsHost.kt +++ b/src/net/torvald/terrarum/ModOptionsHost.kt @@ -92,10 +92,10 @@ class ModOptionsHost(val remoCon: UIRemoCon) : UICanvas() { deferred(); deferred = {} } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // the actual control panel ControlPanelCommon.render("basegame.modcontrolpanel.$currentlySelectedModule", width, batch) - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } override fun dispose() { diff --git a/src/net/torvald/terrarum/TerrarumPostProcessor.kt b/src/net/torvald/terrarum/TerrarumPostProcessor.kt index f62bbeb47..d9eb9c88d 100644 --- a/src/net/torvald/terrarum/TerrarumPostProcessor.kt +++ b/src/net/torvald/terrarum/TerrarumPostProcessor.kt @@ -86,7 +86,7 @@ object TerrarumPostProcessor : Disposable { private var deltatBenchStr = "ΔF: Gathering data" - fun draw(projMat: Matrix4, fbo: FrameBuffer): FrameBuffer { + fun draw(frameDelta: Float, projMat: Matrix4, fbo: FrameBuffer): FrameBuffer { // init if (!init) { @@ -157,7 +157,7 @@ object TerrarumPostProcessor : Disposable { if (KeyToggler.isOn(Input.Keys.F3)) { if (!debugUI.isOpened && !debugUI.isOpening) debugUI.setAsOpen() - batch.inUse { debugUI.renderUI(batch, camera) } + batch.inUse { debugUI.renderUI(frameDelta, batch, camera) } } else { if (!debugUI.isClosed && !debugUI.isClosing) debugUI.setAsClose() diff --git a/src/net/torvald/terrarum/UIFakeGradOverlay.kt b/src/net/torvald/terrarum/UIFakeGradOverlay.kt index e3ee45a04..af431ae3f 100644 --- a/src/net/torvald/terrarum/UIFakeGradOverlay.kt +++ b/src/net/torvald/terrarum/UIFakeGradOverlay.kt @@ -39,7 +39,7 @@ class UIFakeGradOverlay : UICanvas() { } override fun updateUI(delta: Float) {} - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.end() val dither = App.getConfigBoolean("fx_dither") @@ -91,7 +91,7 @@ class UIFakeBlurOverlay(val blurRadius: Float, val nodarken: Boolean) : UICanvas private val batchDrawCol = Color(-1) override fun updateUI(delta: Float) {} - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batchDrawCol.a = openness batch.color = batchDrawCol if (App.getConfigBoolean("fx_backgroundblur")) { diff --git a/src/net/torvald/terrarum/UIItemInventoryCatBar.kt b/src/net/torvald/terrarum/UIItemInventoryCatBar.kt index 7997f6c9c..a90bc4f86 100644 --- a/src/net/torvald/terrarum/UIItemInventoryCatBar.kt +++ b/src/net/torvald/terrarum/UIItemInventoryCatBar.kt @@ -275,13 +275,13 @@ class UIItemInventoryCatBar( } } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { - super.render(batch, camera) + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + super.render(frameDelta, batch, camera) // button // colour determined by UI items themselves - mainButtons.forEach { it.render(batch, camera) } - if (showSideButtons) sideButtons.forEach { it.render(batch, camera) } + mainButtons.forEach { it.render(frameDelta, batch, camera) } + if (showSideButtons) sideButtons.forEach { it.render(frameDelta, batch, camera) } blendNormalStraightAlpha(batch) diff --git a/src/net/torvald/terrarum/UIItemInventoryElemSimple.kt b/src/net/torvald/terrarum/UIItemInventoryElemSimple.kt index 49d58ad17..ba119a87f 100644 --- a/src/net/torvald/terrarum/UIItemInventoryElemSimple.kt +++ b/src/net/torvald/terrarum/UIItemInventoryElemSimple.kt @@ -54,7 +54,7 @@ class UIItemInventoryElemSimple( private var highlightToMainCol = false private var highlightToSubCol = false - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) highlightToMainCol = customHighlightRuleMain?.invoke(this) ?: (equippedSlot != null && highlightEquippedItem) || forceHighlighted diff --git a/src/net/torvald/terrarum/UIItemInventoryElemWide.kt b/src/net/torvald/terrarum/UIItemInventoryElemWide.kt index e31f52e1b..e12c8805d 100644 --- a/src/net/torvald/terrarum/UIItemInventoryElemWide.kt +++ b/src/net/torvald/terrarum/UIItemInventoryElemWide.kt @@ -79,7 +79,7 @@ class UIItemInventoryElemWide( var textHighlightMouseUpCol = Toolkit.Theme.COL_MOUSE_UP var textHighlightNormalCol = Color.WHITE - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) highlightToMainCol = customHighlightRuleMain?.invoke(this) ?: (equippedSlot != null && highlightEquippedItem) || forceHighlighted diff --git a/src/net/torvald/terrarum/gameactors/ActorWithBody.kt b/src/net/torvald/terrarum/gameactors/ActorWithBody.kt index 187681a92..67b69dbaa 100644 --- a/src/net/torvald/terrarum/gameactors/ActorWithBody.kt +++ b/src/net/torvald/terrarum/gameactors/ActorWithBody.kt @@ -1782,17 +1782,17 @@ open class ActorWithBody : Actor { ) } - open fun drawGlow(batch: SpriteBatch) { + open fun drawGlow(frameDelta: Float, batch: SpriteBatch) { if (isVisible && spriteGlow != null) { blendNormalStraightAlpha(batch) - drawSpriteInGoodPosition(spriteGlow!!, batch) + drawSpriteInGoodPosition(frameDelta, spriteGlow!!, batch) } } - open fun drawBody(batch: SpriteBatch) { + open fun drawBody(frameDelta: Float, batch: SpriteBatch) { if (isVisible && sprite != null) { BlendMode.resolve(drawMode, batch) - drawSpriteInGoodPosition(sprite!!, batch) + drawSpriteInGoodPosition(frameDelta, sprite!!, batch) } // debug display of hIntTilewiseHitbox @@ -1813,7 +1813,7 @@ open class ActorWithBody : Actor { } } - protected fun drawSpriteInGoodPosition(sprite: SpriteAnimation, batch: SpriteBatch) { + protected fun drawSpriteInGoodPosition(frameDelta: Float, sprite: SpriteAnimation, batch: SpriteBatch) { if (world == null) return val offsetX = 0f @@ -1823,7 +1823,7 @@ open class ActorWithBody : Actor { val posY = hitbox.startY.plus(PHYS_EPSILON_DIST).toFloat() drawBodyInGoodPosition(posX, posY) { x, y -> - sprite.render(batch, x + offsetX, y + offsetY, scale.toFloat()) + sprite.render(frameDelta, batch, x + offsetX, y + offsetY, scale.toFloat()) } } diff --git a/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt b/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt index b6aefdb9d..0d2879c58 100644 --- a/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt +++ b/src/net/torvald/terrarum/gameactors/BlockMarkerActor.kt @@ -50,7 +50,7 @@ class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = Phy } - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { if (isVisible) { if (markerMode == MarkerMode.FIXTURE_GHOST) { if (INGAME.actorNowPlaying != null) { @@ -60,7 +60,7 @@ class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = Phy if (ghost != null) { // batch.color = ghostColour batch.shader.setUniformf("ghostColour", ghostColour.r, ghostColour.g, ghostColour.b, ghostColour.a) - drawSpriteInGoodPosition(ghost!!, batch) + drawSpriteInGoodPosition(frameDelta, ghost!!, batch) } // 0L // } @@ -70,7 +70,7 @@ class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = Phy if (ghost != null) { // batch.color = ghostColour batch.shader.setUniformf("ghostColour", ghostColour.r, ghostColour.g, ghostColour.b, ghostColour.a) - drawSpriteInGoodPosition(ghost!!, batch) + drawSpriteInGoodPosition(frameDelta, ghost!!, batch) } } } @@ -86,7 +86,7 @@ class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = Phy batch.color = Color.WHITE } - override fun drawGlow(batch: SpriteBatch) { + override fun drawGlow(frameDelta: Float, batch: SpriteBatch) { batch.color = Color.WHITE } diff --git a/src/net/torvald/terrarum/gameactors/WireActor.kt b/src/net/torvald/terrarum/gameactors/WireActor.kt index fc9473040..5ab83b46a 100644 --- a/src/net/torvald/terrarum/gameactors/WireActor.kt +++ b/src/net/torvald/terrarum/gameactors/WireActor.kt @@ -72,7 +72,7 @@ class WireActor : ActorWithBody, NoSerialise { override fun update(delta: Float) { } - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { if (isVisible && sprite != null) { if (WireCodex[wireID].accepts == "digital_3bits") { // "digital_3bits" must come right after three wires it bundles @@ -89,7 +89,7 @@ class WireActor : ActorWithBody, NoSerialise { } BlendMode.resolve(drawMode, batch) - drawSpriteInGoodPosition(sprite!!, batch) + drawSpriteInGoodPosition(frameDelta, sprite!!, batch) } } } \ No newline at end of file diff --git a/src/net/torvald/terrarum/gameparticles/ParticleBase.kt b/src/net/torvald/terrarum/gameparticles/ParticleBase.kt index 6c00bb496..b855cbc1e 100644 --- a/src/net/torvald/terrarum/gameparticles/ParticleBase.kt +++ b/src/net/torvald/terrarum/gameparticles/ParticleBase.kt @@ -74,7 +74,7 @@ open class ParticleBase(renderOrder: Actor.RenderOrder, var despawnUponCollision } } - open fun drawBody(batch: SpriteBatch) { + open fun drawBody(frameDelta: Float, batch: SpriteBatch) { if (!flagDespawn) { batch.color = drawColour drawBodyInGoodPosition(hitbox.startX.toFloat(), hitbox.startY.toFloat()) { x, y -> @@ -83,7 +83,7 @@ open class ParticleBase(renderOrder: Actor.RenderOrder, var despawnUponCollision } } - open fun drawGlow(batch: SpriteBatch) { + open fun drawGlow(frameDelta: Float, batch: SpriteBatch) { if (!flagDespawn && glow != null) { batch.color = drawColour drawBodyInGoodPosition(hitbox.startX.toFloat(), hitbox.startY.toFloat()) { x, y -> diff --git a/src/net/torvald/terrarum/gameparticles/ParticleVanishingTexture.kt b/src/net/torvald/terrarum/gameparticles/ParticleVanishingTexture.kt index 1f760f172..b1e3a199f 100644 --- a/src/net/torvald/terrarum/gameparticles/ParticleVanishingTexture.kt +++ b/src/net/torvald/terrarum/gameparticles/ParticleVanishingTexture.kt @@ -87,7 +87,7 @@ class ParticleVanishingText(val text: String, x: Double, y: Double, noCollision: drawColour.a = (lifetimeMax - lifetimeCounter) / lifetimeMax } - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { if (!flagDespawn) { val oldColour = batch.color.cpy() batch.color = drawColour @@ -135,7 +135,7 @@ open class ParticleVanishingSprite(val sprite: TextureRegionPack, val delay: Flo frameAdvanceCounter += delta } - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { if (!flagDespawn) { val oldColour = batch.color.cpy() batch.color = drawColour diff --git a/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt b/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt index ad6dc8509..711395f72 100644 --- a/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt +++ b/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt @@ -118,12 +118,12 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) { this.actorValue[AVKey.LUMG] = 1.0 } - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { batch.color = toolCursorColour[currentPenMode] batch.draw(blockMarkings.get(currentPenMode, 0), hitbox.startX.toFloat(), hitbox.startY.toFloat()) } - override fun drawGlow(batch: SpriteBatch) { } + override fun drawGlow(frameDelta: Float, batch: SpriteBatch) { } override fun dispose() { } @@ -152,7 +152,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) { override var referenceID: ActorID = blockPosToRefID(x, y) // custom refID override val hitbox = Hitbox(x * 16.0, y * 16.0, 16.0, 16.0) - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { batch.color = blockMarkerColour drawSpriteInGoodPosition(blockMarkings.get(2,0), batch) } @@ -188,7 +188,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) { } } - override fun drawGlow(batch: SpriteBatch) { } + override fun drawGlow(frameDelta: Float, batch: SpriteBatch) { } override fun update(delta: Float) { } @@ -458,7 +458,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) { private val renderGame = { delta: Float -> _testMarkerDrawCalls = 0L - IngameRenderer.invoke(false, + IngameRenderer.invoke(delta, false, screenZoom, listOf(), listOf(), @@ -696,10 +696,10 @@ class MovableWorldCamera(val parent: BuildingMaker) : ActorHumanoid(0, physProp this.hitbox.hitboxStart.setCoerceIn(coerceInStart, coerceInEnd) } - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { } - override fun drawGlow(batch: SpriteBatch) { + override fun drawGlow(frameDelta: Float, batch: SpriteBatch) { } override fun onActorValueChange(key: String, value: Any?) { diff --git a/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt b/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt index 2567198b7..3ce5cb53b 100644 --- a/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt +++ b/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt @@ -202,16 +202,17 @@ object IngameRenderer : Disposable { private var oldCamX = 0 operator fun invoke( - gamePaused: Boolean, - zoom: Float = 1f, - actorsRenderBehind : List, - actorsRenderMiddle : List, - actorsRenderMidTop : List, - actorsRenderFront : List, - actorsRenderOverlay: List, - particlesContainer : CircularArray, - player: ActorWithBody? = null, - uiContainer: UIContainer? = null, + frameDelta: Float, + gamePaused: Boolean, + zoom: Float = 1f, + actorsRenderBehind : List, + actorsRenderMiddle : List, + actorsRenderMidTop : List, + actorsRenderFront : List, + actorsRenderOverlay: List, + particlesContainer : CircularArray, + player: ActorWithBody? = null, + uiContainer: UIContainer? = null, ) { renderingActorsCount = (actorsRenderBehind.size) + (actorsRenderMiddle.size) + @@ -239,9 +240,9 @@ object IngameRenderer : Disposable { prepLightmapRGBA() BlocksDrawer.renderData() - drawToRGB(actorsRenderBehind, actorsRenderMiddle, actorsRenderMidTop, actorsRenderFront, actorsRenderOverlay, particlesContainer) - drawToA(actorsRenderBehind, actorsRenderMiddle, actorsRenderMidTop, actorsRenderFront, actorsRenderOverlay, particlesContainer) - drawOverlayActors(actorsRenderOverlay) + drawToRGB(frameDelta, actorsRenderBehind, actorsRenderMiddle, actorsRenderMidTop, actorsRenderFront, actorsRenderOverlay, particlesContainer) + drawToA(frameDelta, actorsRenderBehind, actorsRenderMiddle, actorsRenderMidTop, actorsRenderFront, actorsRenderOverlay, particlesContainer) + drawOverlayActors(frameDelta, actorsRenderOverlay) } batch.color = Color.WHITE @@ -263,7 +264,7 @@ object IngameRenderer : Disposable { // draw sky measureDebugTime("WeatherMixer.render") { - WeatherMixer.render(camera, batch, world) + WeatherMixer.render(frameDelta, camera, batch, world) } @@ -403,7 +404,7 @@ object IngameRenderer : Disposable { if (!KeyToggler.isOn(Input.Keys.F4)) { uiContainer?.forEach { - it?.render(batch, camera) + it?.render(frameDelta, batch, camera) } } } @@ -449,12 +450,13 @@ object IngameRenderer : Disposable { } private fun drawToRGB( - actorsRenderBehind: List?, - actorsRenderMiddle: List?, - actorsRenderMidTop: List?, - actorsRenderFront : List?, - actorsOverlay : List?, - particlesContainer: CircularArray? + frameDelta: Float, + actorsRenderBehind: List?, + actorsRenderMiddle: List?, + actorsRenderMidTop: List?, + actorsRenderFront : List?, + actorsOverlay : List?, + particlesContainer: CircularArray? ) { fboRGB.inAction(null, null) { clearBuffer() } fboRGB_lightMixed.inAction(null, null) { clearBuffer() } @@ -468,8 +470,8 @@ object IngameRenderer : Disposable { batch.shader = shaderForActors batch.color = Color.WHITE moveCameraToWorldCoord() - actorsRenderBehind?.forEach { it.drawBody(batch) } - particlesContainer?.forEach { it.drawBody(batch) } + actorsRenderBehind?.forEach { it.drawBody(frameDelta, batch) } + particlesContainer?.forEach { it.drawBody(frameDelta, batch) } } setCameraPosition(0f, 0f) @@ -483,10 +485,10 @@ object IngameRenderer : Disposable { // draw actors // ///////////////// moveCameraToWorldCoord() - actorsRenderMiddle?.forEach { it.drawBody(batch) } - actorsRenderMidTop?.forEach { it.drawBody(batch) } - player?.drawBody(batch) - actorsRenderFront?.forEach { it.drawBody(batch) } + actorsRenderMiddle?.forEach { it.drawBody(frameDelta, batch) } + actorsRenderMidTop?.forEach { it.drawBody(frameDelta, batch) } + player?.drawBody(frameDelta, batch) + actorsRenderFront?.forEach { it.drawBody(frameDelta, batch) } // --> Change of blend mode <-- introduced by children of ActorWithBody // } @@ -558,12 +560,13 @@ object IngameRenderer : Disposable { } private fun drawToA( - actorsRenderBehind: List?, - actorsRenderMiddle: List?, - actorsRenderMidTop: List?, - actorsRenderFront : List?, - actorsOverlay : List?, - particlesContainer: CircularArray? + frameDelta: Float, + actorsRenderBehind: List?, + actorsRenderMiddle: List?, + actorsRenderMidTop: List?, + actorsRenderFront : List?, + actorsOverlay : List?, + particlesContainer: CircularArray? ) { fboA.inAction(null, null) { clearBuffer() @@ -582,8 +585,8 @@ object IngameRenderer : Disposable { batch.color = Color.WHITE moveCameraToWorldCoord() - actorsRenderBehind?.forEach { it.drawGlow(batch) } - particlesContainer?.forEach { it.drawGlow(batch) } + actorsRenderBehind?.forEach { it.drawGlow(frameDelta, batch) } + particlesContainer?.forEach { it.drawGlow(frameDelta, batch) } } setCameraPosition(0f, 0f) @@ -594,10 +597,10 @@ object IngameRenderer : Disposable { // draw actors // ///////////////// moveCameraToWorldCoord() - actorsRenderMiddle?.forEach { it.drawGlow(batch) } - actorsRenderMidTop?.forEach { it.drawGlow(batch) } - player?.drawGlow(batch) - actorsRenderFront?.forEach { it.drawGlow(batch) } + actorsRenderMiddle?.forEach { it.drawGlow(frameDelta, batch) } + actorsRenderMidTop?.forEach { it.drawGlow(frameDelta, batch) } + player?.drawGlow(frameDelta, batch) + actorsRenderFront?.forEach { it.drawGlow(frameDelta, batch) } // --> Change of blend mode <-- introduced by children of ActorWithBody // } } @@ -647,7 +650,7 @@ object IngameRenderer : Disposable { blendNormalStraightAlpha(batch) } - private fun drawOverlayActors(actors: List?) { + private fun drawOverlayActors(frameDelta: Float, actors: List?) { fboRGB_lightMixed.inActionF(camera, batch) { setCameraPosition(0f, 0f) @@ -659,7 +662,7 @@ object IngameRenderer : Disposable { moveCameraToWorldCoord() actors?.forEach { - it.drawBody(batch) + it.drawBody(frameDelta, batch) } } diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt index 650e2fd15..ad1c86590 100644 --- a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt +++ b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt @@ -50,6 +50,7 @@ import net.torvald.terrarum.realestate.LandUtil import net.torvald.terrarum.savegame.VDUtil import net.torvald.terrarum.savegame.VirtualDisk import net.torvald.terrarum.serialise.Common +import net.torvald.terrarum.ui.BasicDebugInfoWindow.Companion.toIntAndFrac import net.torvald.terrarum.ui.Toolkit import net.torvald.terrarum.ui.Toolkit.hdrawWidth import net.torvald.terrarum.ui.UIAutosaveNotifier @@ -971,10 +972,20 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) { paused = true } + + if (KeyToggler.isOn(Input.Keys.F10)) { + batch.inUse { + batch.color = Color.WHITE + App.fontSmallNumbers.draw(batch, "$ccY\u00DCupd $ccG${delta.toIntAndFrac(1)}", 2f, App.scr.height - 16f) + _dbgDeltaUpd = delta + } + } } + private var _dbgDeltaUpd = 0f - private val renderGame = { delta: Float -> + + private val renderGame = { frameDelta: Float -> Gdx.graphics.setTitle(getCanonicalTitle()) WorldCamera.update(world, actorNowPlaying) @@ -994,16 +1005,17 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) { if (uiFixture?.isClosed == true) { uiFixture = null } IngameRenderer.invoke( - paused, - screenZoom, - visibleActorsRenderBehind, - visibleActorsRenderMiddle, - visibleActorsRenderMidTop, - visibleActorsRenderFront, - visibleActorsRenderOverlay, - particlesContainer, - actorNowPlaying, - uiContainer// + uiFixture + frameDelta, + paused, + screenZoom, + visibleActorsRenderBehind, + visibleActorsRenderMiddle, + visibleActorsRenderMidTop, + visibleActorsRenderFront, + visibleActorsRenderOverlay, + particlesContainer, + actorNowPlaying, + uiContainer// + uiFixture ) // quick and dirty way to show @@ -1035,6 +1047,16 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) { } } } + + + if (KeyToggler.isOn(Input.Keys.F10)) { + batch.inUse { + batch.color = Color.WHITE + App.fontSmallNumbers.draw(batch, "$ccY\u00DCupd $ccG${_dbgDeltaUpd.toIntAndFrac(1)}", 2f, App.scr.height - 16f) + App.fontSmallNumbers.draw(batch, "$ccY\u00DCren $ccG${frameDelta.toIntAndFrac(1)}", 2f + 7*12, App.scr.height - 16f) + App.fontSmallNumbers.draw(batch, "$ccY\u00DCgdx $ccG${Gdx.graphics.deltaTime.toIntAndFrac(1)}", 2f + 7*24, App.scr.height - 16f) + } + } } private var worldTransitionOngoing = false diff --git a/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt b/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt index 204d5725d..1e4f57bc2 100644 --- a/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt +++ b/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt @@ -358,15 +358,16 @@ class TitleScreen(batch: FlippingSpriteBatch) : IngameInstance(batch) { if (!demoWorld.layerTerrain.ptr.destroyed) { // FIXME q&d hack to circumvent the dangling pointer issue #26 IngameRenderer.invoke( - false, - 1f, - listOf(), - listOf(), - listOf(), - listOf(), - listOf(), - particles, - uiContainer = uiContainer + delta, + false, + 1f, + listOf(), + listOf(), + listOf(), + listOf(), + listOf(), + particles, + uiContainer = uiContainer ) if (KeyToggler.isOn(Input.Keys.F10)) { @@ -598,8 +599,8 @@ class TitleScreen(batch: FlippingSpriteBatch) : IngameInstance(batch) { ) } - override fun drawBody(batch: SpriteBatch) { } - override fun drawGlow(batch: SpriteBatch) { } + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { } + override fun drawGlow(frameDelta: Float, batch: SpriteBatch) { } override fun update(delta: Float) { ai.update(this, delta) diff --git a/src/net/torvald/terrarum/modulebasegame/UIBuildingMakerGetFilename.kt b/src/net/torvald/terrarum/modulebasegame/UIBuildingMakerGetFilename.kt index 595461ddd..8e840cc33 100644 --- a/src/net/torvald/terrarum/modulebasegame/UIBuildingMakerGetFilename.kt +++ b/src/net/torvald/terrarum/modulebasegame/UIBuildingMakerGetFilename.kt @@ -84,7 +84,7 @@ class UIBuildingMakerGetFilename : UICanvas() { } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) // draw border @@ -111,7 +111,7 @@ class UIBuildingMakerGetFilename : UICanvas() { App.fontGame.draw(batch, str, 0 + LINE_HEIGHT / 2, 0 + LINE_HEIGHT / 2 + LINE_HEIGHT * index) } - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } private var dragOriginX = 0 // relative mousepos diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt index 15b3df659..7ab30d429 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt @@ -96,7 +96,7 @@ open class DroppedItem : ActorWithBody { } - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { // deserialiser won't call setter of the fields if (visualItemID == "") { visualItemID = BlockCodex.getOrNull(itemID)?.world ?: itemID diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureTikiTorch.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureTikiTorch.kt index 80b970585..1ca319860 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureTikiTorch.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureTikiTorch.kt @@ -72,8 +72,8 @@ internal class FixtureTikiTorch : FixtureBase { spawnTimer += delta } - override fun drawBody(batch: SpriteBatch) { - super.drawBody(batch) + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { + super.drawBody(frameDelta, batch) } companion object { diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureWorldPortal.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureWorldPortal.kt index ffdb60e6a..fd7897da9 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureWorldPortal.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureWorldPortal.kt @@ -53,9 +53,9 @@ class FixtureWorldPortal : Electric { @Transient internal var teleportRequest: TeleportRequest? = null - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { (sprite as SheetSpriteAnimation).currentFrame = (Math.random() * 3).toInt() - super.drawBody(batch) + super.drawBody(frameDelta, batch) } override fun onRisingEdge(readFrom: BlockBoxIndex) { diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestBall.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestBall.kt index bd59a92a8..a0955a29f 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestBall.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestBall.kt @@ -24,7 +24,7 @@ class PhysTestBall : ActorWithBody(RenderOrder.MIDDLE, PhysProperties.PHYSICS_OB color = RoguelikeRandomiser.composeColourFrom(RoguelikeRandomiser.POTION_PRIMARY_COLSET) } - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { /*Terrarum.inShapeRenderer { it.color = color it.circle( diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestLuarLander.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestLuarLander.kt index eae1c5eda..f63197ddb 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestLuarLander.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestLuarLander.kt @@ -41,10 +41,10 @@ class PhysTestLuarLander : ActorWithBody(RenderOrder.MIDTOP, PhysProperties.PHYS return true } - override fun drawGlow(batch: SpriteBatch) { + override fun drawGlow(frameDelta: Float, batch: SpriteBatch) { } - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { batch.color = Color.WHITE batch.draw(texture, hitbox.startX.toFloat(), hitbox.endY.toFloat(), hitbox.width.toFloat(), -hitbox.height.toFloat()) } diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/ProjectileSimple.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/ProjectileSimple.kt index 77f7fb52e..cf8b31072 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/ProjectileSimple.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/ProjectileSimple.kt @@ -93,7 +93,7 @@ open class ProjectileSimple : ActorWithBody, Projectile { /** * WARNING! ends and begins Batch */ - override fun drawBody(batch: SpriteBatch) { + override fun drawBody(frameDelta: Float, batch: SpriteBatch) { val colourTail = displayColour.cpy() // clone a colour colourTail.a = 0.16f @@ -113,7 +113,7 @@ open class ProjectileSimple : ActorWithBody, Projectile { batch.begin()*/ } - override fun drawGlow(batch: SpriteBatch) = drawBody(batch) + override fun drawGlow(frameDelta: Float, batch: SpriteBatch) = drawBody(frameDelta, batch) companion object { val OFFSET_DAMAGE = 0 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/MessageWindow.kt b/src/net/torvald/terrarum/modulebasegame/ui/MessageWindow.kt index 19be59408..8ac2988ed 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/MessageWindow.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/MessageWindow.kt @@ -26,7 +26,7 @@ package net.torvald.terrarum.modulebasegame.ui override fun updateUI(delta: Float) { } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormal(batch) val textWidth = messagesList.map { AppLoader.fontGame.getWidth(it) }.sorted()[1] diff --git a/src/net/torvald/terrarum/modulebasegame/ui/Notification.kt b/src/net/torvald/terrarum/modulebasegame/ui/Notification.kt index 573df96ab..b7f8cd769 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/Notification.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/Notification.kt @@ -66,7 +66,7 @@ class Notification : UICanvas() { } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) fontCol.a = handler.opacity * OPACITY diff --git a/src/net/torvald/terrarum/modulebasegame/ui/NullUI.kt b/src/net/torvald/terrarum/modulebasegame/ui/NullUI.kt index 947aa243a..bd2a34152 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/NullUI.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/NullUI.kt @@ -20,7 +20,7 @@ object NullUI : UICanvas() { override fun updateUI(delta: Float) { } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { } override fun doOpening(delta: Float) { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIBasicInfo.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIBasicInfo.kt index 1a1034447..c3a81beda 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIBasicInfo.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIBasicInfo.kt @@ -87,7 +87,7 @@ class UIBasicInfo() : UICanvas() { private val lcdLitCol: Color = lcdLitColELoff - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = drawCol batch.draw(atlas.get(0, 0), 0f, 0f) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerBlockChooser.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerBlockChooser.kt index 25212a7f3..e3c64c4ac 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerBlockChooser.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerBlockChooser.kt @@ -166,7 +166,7 @@ class UIBuildingMakerBlockChooser(val parent: BuildingMaker): UICanvas() { } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) // border @@ -182,14 +182,14 @@ class UIBuildingMakerBlockChooser(val parent: BuildingMaker): UICanvas() { Toolkit.fillArea(batch, 0, 0, MENUBAR_SIZE, height) // the actual buttons - tabs.render(batch, camera) - closeButton.render(batch, camera) + tabs.render(frameDelta, batch, camera) + closeButton.render(frameDelta, batch, camera) currentPalette.visible.forEach { - it.render(batch, camera) + it.render(frameDelta, batch, camera) } - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } private var dragOriginX = 0 // relative mousepos diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerPenMenu.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerPenMenu.kt index c3d03fc0e..73ae3b8c8 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerPenMenu.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerPenMenu.kt @@ -150,7 +150,7 @@ class UIBuildingMakerPenMenu(val parent: BuildingMaker): UICanvas() { parent.tappedOnUI = true } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // draw back batch.color = backCol Toolkit.fillCircle(batch,0, 0, SIZE, SIZE) @@ -194,7 +194,7 @@ class UIBuildingMakerPenMenu(val parent: BuildingMaker): UICanvas() { // draw icons toolButtons.forEach { - it.render(batch, camera) + it.render(frameDelta, batch, camera) } } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerToolbox.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerToolbox.kt index f1652b00b..237bc01fb 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerToolbox.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIBuildingMakerToolbox.kt @@ -38,8 +38,8 @@ class UIBuildingMakerToolbox : UICanvas() { } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { - tools.forEach { it.render(batch, camera) } + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + tools.forEach { it.render(frameDelta, batch, camera) } } override fun doOpening(delta: Float) { } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UICheatDetected.kt b/src/net/torvald/terrarum/modulebasegame/ui/UICheatDetected.kt index f0021914c..8f9f095bf 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UICheatDetected.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UICheatDetected.kt @@ -32,7 +32,7 @@ class UICheatDetected : UICanvas() { private val backgroundCol = Color(0x00000080) - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { Terrarum.ingame?.consoleHandler?.setAsClose() Terrarum.ingame?.consoleHandler?.isVisible = false diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UICrafting.kt b/src/net/torvald/terrarum/modulebasegame/ui/UICrafting.kt index ce6090b3b..6945760c9 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UICrafting.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UICrafting.kt @@ -443,9 +443,9 @@ class UICrafting(val full: UIInventoryFull) : UICanvas(), HasInventory { if (openingClickLatched && !Terrarum.mouseDown) openingClickLatched = false } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // NO super.render due to an infinite recursion - this.uiItems.forEach { it.render(batch, camera) } + this.uiItems.forEach { it.render(frameDelta, batch, camera) } batch.color = Color.WHITE diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt index f4a541bd6..da1fcc467 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt @@ -49,9 +49,9 @@ class UIGraphicsControlPanel(remoCon: UIRemoCon?) : UICanvas() { uiItems.forEach { it.update(delta) } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { ControlPanelCommon.render("basegame.graphicscontrolpanel", width, batch) - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } if (App.getConfigBoolean("fx_streamerslayout")) { val xstart = App.scr.width - App.scr.chatWidth diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt index 3d43b9169..5d09b2e53 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt @@ -173,7 +173,7 @@ class UIIMEConfig(remoCon: UIRemoCon?) : UICanvas() { uiItems.forEach { it.update(delta) } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = Color.WHITE val txt1 = Lang["MENU_LABEL_KEYBOARD_LAYOUT"]; val tw1 = App.fontGame.getWidth(txt1) @@ -198,7 +198,7 @@ class UIIMEConfig(remoCon: UIRemoCon?) : UICanvas() { batch.color = Color.WHITE - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } shiftin = Gdx.input.isKeyPressed(Input.Keys.SHIFT_LEFT) || Gdx.input.isKeyPressed(Input.Keys.SHIFT_RIGHT) altgrin = Gdx.input.isKeyPressed(Input.Keys.ALT_RIGHT) || (Gdx.input.isKeyPressed(Input.Keys.ALT_LEFT) && Gdx.input.isKeyPressed(Input.Keys.CONTROL_LEFT)) @@ -271,8 +271,8 @@ private class UIItemInputKeycap( c in 0x1DC0..0x1DFF || c in 0x20D0..0x20FF || c in 0xFE20..0xFE2F || c == 0xE31 || c in 0xE33..0xE3A || c in 0xE47..0xE4E - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { - super.render(batch, camera) + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + super.render(frameDelta, batch, camera) // key background batch.color = keycapFill diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIImportAvatar.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIImportAvatar.kt index 25cc62883..d02604419 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIImportAvatar.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIImportAvatar.kt @@ -113,7 +113,7 @@ class UIImportAvatar(val remoCon: UIRemoCon) : Advanceable() { } private lateinit var wotKeys: List - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = Color.WHITE val textboxWidth = wotKeys.maxOf { App.fontGame.getWidth(it) } val textX = (Toolkit.drawWidth - textboxWidth) / 2 @@ -126,7 +126,7 @@ class UIImportAvatar(val remoCon: UIRemoCon) : Advanceable() { App.fontGame.draw(batch, App.importDir, (Toolkit.drawWidth - pathW) / 2, textY) - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } if (importReturnCode != 0) { @@ -262,7 +262,7 @@ class UIItemCodeBox(parent: UIImportAvatar, initialX: Int, initialY: Int, val co } } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // draw box backgrounds batch.color = UIInventoryFull.CELL_COL Toolkit.fillArea(batch, posX, posY, width, height) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventory.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventory.kt index e0626c4cd..9205e2b8a 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventory.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventory.kt @@ -213,7 +213,7 @@ package net.torvald.terrarum.modulebasegame.ui private val weightBarWidth = 60f - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // background blendNormal() batch.color = backgroundColour @@ -225,14 +225,14 @@ package net.torvald.terrarum.modulebasegame.ui batch.color = Color(0xcccccc_ff.toInt()) Toolkit.fillArea(batch, 0f, 0f, catButtons.width.toFloat(), height.toFloat()) - catButtons.render(batch, camera) + catButtons.render(frameDelta, batch, camera) // left/right page mover - scrollLeftButton.render(batch, camera) - scrollRightButton.render(batch, camera) + scrollLeftButton.render(frameDelta, batch, camera) + scrollRightButton.render(frameDelta, batch, camera) items.forEach { - it.render(batch, camera) + it.render(frameDelta, batch, camera) } // texts diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt index 03c8f707f..d939d391d 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt @@ -110,11 +110,11 @@ internal class UIInventoryCells( } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { //itemList.posX = itemList.initialX + inventoryScrOffX.roundToInt() - itemList.render(batch, camera) + itemList.render(frameDelta, batch, camera) //equipped.posX = equipped.initialX + inventoryScrOffX.roundToInt() - equipped.render(batch, camera) + equipped.render(frameDelta, batch, camera) // control hints diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt index 151dba0ea..6f3815eeb 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt @@ -188,39 +188,39 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() { // `screens` order private val screenRenders = arrayOf( - { batch: SpriteBatch, camera: OrthographicCamera -> + { frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera -> // control hints App.fontGame.draw(batch, full.gameMenuControlHelp, controlHintX, full.yEnd - 20) // text buttons - gameMenuButtons.render(batch, camera) + gameMenuButtons.render(frameDelta, batch, camera) }, - { batch: SpriteBatch, camera: OrthographicCamera -> + { frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera -> // control hints App.fontGame.draw(batch, full.gameMenuControlHelp, controlHintX, full.yEnd - 20) - keyboardSetupUI.render(batch, camera) + keyboardSetupUI.render(frameDelta, batch, camera) }, - { batch: SpriteBatch, camera: OrthographicCamera -> + { frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera -> // control hints App.fontGame.draw(batch, full.gameMenuControlHelp, controlHintX, full.yEnd - 20) - areYouSureMainMenuButtons.render(batch, camera) + areYouSureMainMenuButtons.render(frameDelta, batch, camera) }, - { batch: SpriteBatch, camera: OrthographicCamera -> - savingUI.render(batch, camera) + { frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera -> + savingUI.render(frameDelta, batch, camera) }, - { batch: SpriteBatch, camera: OrthographicCamera -> + { frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera -> // control hints App.fontGame.draw(batch, full.gameMenuControlHelp, controlHintX, full.yEnd - 20) - keyConfigUI.render(batch, camera) + keyConfigUI.render(frameDelta, batch, camera) }, - { batch: SpriteBatch, camera: OrthographicCamera -> + { frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera -> // control hints App.fontGame.draw(batch, full.gameMenuControlHelp, controlHintX, full.yEnd - 20) - languageUI.render(batch, camera) + languageUI.render(frameDelta, batch, camera) }, - { batch: SpriteBatch, camera: OrthographicCamera -> + { frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera -> // control hints App.fontGame.draw(batch, full.gameMenuControlHelp, controlHintX, full.yEnd - 20) - shareUI.render(batch, camera) + shareUI.render(frameDelta, batch, camera) }, ) @@ -300,10 +300,10 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() { yeet.update(delta) } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) batch.color = Color.WHITE - screenRenders[screen](batch, camera) + screenRenders[screen](frameDelta, batch, camera) } override fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt index 880bdf9c4..f2a4625f8 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt @@ -320,13 +320,13 @@ class UIInventoryFull( internal var yEnd = -YPOS_CORRECTION + (App.scr.height + internalHeight).div(2).toFloat() private set - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { drawBackground(batch, 1f) // UI items - catBar.render(batch, camera) - transitionPanel.render(batch, camera) + catBar.render(frameDelta, batch, camera) + transitionPanel.render(frameDelta, batch, camera) // if (transitionPanel.currentPosition != 1f) INGAME.setTooltipMessage(null) } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryMinimap.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryMinimap.kt index c7f7b7285..0da9bfa80 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryMinimap.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryMinimap.kt @@ -65,7 +65,7 @@ class UIInventoryMinimap(val full: UIInventoryFull) : UICanvas() { minimapRerenderTimer += Gdx.graphics.deltaTime } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) val cellOffY = INVENTORY_CELLS_OFFSET_Y() val worldWidth = INGAME.world.width diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryCellBase.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryCellBase.kt index e3a4c53bb..4cc048160 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryCellBase.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryCellBase.kt @@ -35,7 +35,7 @@ abstract class UIItemInventoryCellBase( var colourTheme: InventoryCellColourTheme = UIItemInventoryCellCommonRes.defaultInventoryCellTheme ) : UIItem(parentUI, initialX, initialY) { abstract override fun update(delta: Float) - abstract override fun render(batch: SpriteBatch, camera: OrthographicCamera) + abstract override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) /** Custom highlight rule to highlight tihs button to primary accent colour (blue by default). * Set to `null` to use default rule: diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryEquippedView.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryEquippedView.kt index 7ce03dd13..f1ddf74ef 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryEquippedView.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryEquippedView.kt @@ -68,7 +68,7 @@ class UIItemInventoryEquippedView( itemGrid.forEach { it.update(delta) } } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) val posXDelta = posX - oldPosX @@ -109,7 +109,7 @@ class UIItemInventoryEquippedView( // slot image on each cells itemGrid.forEachIndexed { index, cell -> - cell.render(batch, camera) + cell.render(frameDelta, batch, camera) if (cell.item == null) { batch.color = equipPosIconCol batch.draw(equipPosIcon.get(cellToIcon[index], 1), 15f + cell.posX, 15f + cell.posY) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryItemGrid.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryItemGrid.kt index 2f94d4a0b..13c7f432e 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryItemGrid.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryItemGrid.kt @@ -306,21 +306,21 @@ open class UIItemInventoryItemGrid( // private fun getIconPosY(index: Int) = // posY + 8 + 26 * index - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { val posXDelta = posX - oldPosX itemGrid.forEach { it.posX += posXDelta } itemList.forEach { it.posX += posXDelta } // define each button's highlighted status from the list of forceHighlighted, then render the button items.forEach { if (useHighlightingManager) it.forceHighlighted = forceHighlightList.contains(it.item?.dynamicID) - it.render(batch, camera) + it.render(frameDelta, batch, camera) } if (!hideSidebar) { - navRemoCon.render(batch, camera) + navRemoCon.render(frameDelta, batch, camera) } - super.render(batch, camera) + super.render(frameDelta, batch, camera) oldPosX = posX } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIItemListNavBarVertical.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIItemListNavBarVertical.kt index d12bbe7b4..e394a6d50 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIItemListNavBarVertical.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIItemListNavBarVertical.kt @@ -111,7 +111,7 @@ class UIItemListNavBarVertical( var itemPage = 0 - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { val posXDelta = posX - oldPosX gridModeButtons.forEach { it.posX += posXDelta } @@ -131,9 +131,9 @@ class UIItemListNavBarVertical( batch.color = colourTheme.cellHighlightNormalCol Toolkit.drawBoxBorder(batch, iconPosX - 4, getIconPosY(0) - 8, width, height) - if (hasGridModeButtons) gridModeButtons.forEach { it.render(batch, camera) } - scrollUpButton.render(batch, camera) - scrollDownButton.render(batch, camera) + if (hasGridModeButtons) gridModeButtons.forEach { it.render(frameDelta, batch, camera) } + scrollUpButton.render(frameDelta, batch, camera) + scrollDownButton.render(frameDelta, batch, camera) // draw scroll dots for (i in 0 until itemPageCount) { @@ -151,7 +151,7 @@ class UIItemListNavBarVertical( extraDrawOpOnBottom(this, batch) - super.render(batch, camera) + super.render(frameDelta, batch, camera) oldPosX = posX } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIItemSaving.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIItemSaving.kt index d16f12e14..99b08a3be 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIItemSaving.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIItemSaving.kt @@ -33,7 +33,7 @@ class UIItemSaving(parentUI: UICanvas, initialX: Int, initialY: Int) : UIItem(pa init { } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // these things will not scroll along with the parent GUI! val t = if ((INGAME as TerrarumIngame).uiAutosaveNotifier.isVisible) Lang["MENU_IO_WAITING_AUTOSAVE_TO_FINISH"] else Lang["MENU_IO_SAVING"] val tlen = App.fontGame.getWidth(t) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt index d451046e7..574d6b266 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt @@ -206,13 +206,13 @@ class UIKeyboardControlPanel(remoCon: UIRemoCon?) : UICanvas() { controlPalette.update(delta) } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // batch.color = borderNormal // Toolkit.drawBoxBorder(batch, drawX, drawY, width, height) // batch.color = fillCol // Toolkit.fillArea(batch, drawX, drawY, width, height) - uiItems.forEach { it.render(batch, camera) } - presetSelector.render(batch, camera) + uiItems.forEach { it.render(frameDelta, batch, camera) } + presetSelector.render(frameDelta, batch, camera) // title // todo show "Keyboard"/"Gamepad" accordingly @@ -228,7 +228,7 @@ class UIKeyboardControlPanel(remoCon: UIRemoCon?) : UICanvas() { // action palette batch.color = Color.WHITE if (keycapClicked >= 0 && controlSelected < 0) { - controlPalette.render(batch, camera) + controlPalette.render(frameDelta, batch, camera) } } @@ -342,8 +342,8 @@ private class UIItemKeycap( super.update(delta) } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { - super.render(batch, camera) + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + super.render(frameDelta, batch, camera) batch.color = if (key == null) borderKeyForbidden @@ -455,21 +455,21 @@ class UIItemControlPaletteBaloon(val parent: UIKeyboardControlPanel, initialX: I ) } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { - super.render(batch, camera) + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + super.render(frameDelta, batch, camera) Toolkit.drawBaloon(batch, posX.toFloat(), posY.toFloat(), width.toFloat(), height.toFloat()) iconButtons.forEach { batch.color = buttonBackground Toolkit.fillArea(batch, it.posX-4, it.posY-4, 28, 28) - it.render(batch, camera) + it.render(frameDelta, batch, camera) batch.color = Color(batch.color.r, batch.color.g, batch.color.b, batch.color.a * (if (it.mouseUp) 0.9f else 0.6f)) Toolkit.drawBoxBorder(batch, it.posX-4, it.posY-4, 28, 28) } - closeButton1.render(batch, camera) - closeButton2.render(batch, camera) + closeButton1.render(frameDelta, batch, camera) + closeButton2.render(frameDelta, batch, camera) // texts. Sorted in the same way as UIItemControlPaletteBaloon.iconButtons batch.color = Color.WHITE diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadAutosave.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadAutosave.kt index f4396d79b..3970f13fd 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadAutosave.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadAutosave.kt @@ -122,7 +122,7 @@ import java.util.zip.GZIPInputStream private var loadFiredFrameCounter = 0 - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { if (mode == MODE_INIT) { // "The Autosave is more recent than the manual save" Toolkit.drawTextCentered(batch, App.fontGame, Lang["GAME_MORE_RECENT_AUTOSAVE1"], Toolkit.drawWidth, 0, altSelDrawY) @@ -131,10 +131,10 @@ import java.util.zip.GZIPInputStream Toolkit.drawTextCentered(batch, App.fontGame, Lang["MENU_IO_MANUAL_SAVE"], altSelHdrawW, (Toolkit.drawWidth - altSelDrawW)/2, altSelDrawY + 80) Toolkit.drawTextCentered(batch, App.fontGame, Lang["MENU_IO_AUTOSAVE"], altSelHdrawW, Toolkit.drawWidth/2, altSelDrawY + 80) - if (::loadAutoThumbButton.isInitialized) loadAutoThumbButton.render(batch, camera) - if (::loadManualThumbButton.isInitialized) loadManualThumbButton.render(batch, camera) + if (::loadAutoThumbButton.isInitialized) loadAutoThumbButton.render(frameDelta, batch, camera) + if (::loadManualThumbButton.isInitialized) loadManualThumbButton.render(frameDelta, batch, camera) - mainBackButton.render(batch, camera) + mainBackButton.render(frameDelta, batch, camera) } else if (mode == MODE_LOAD) { loadFiredFrameCounter += 1 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt index 458e9b8f7..aa668501c 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt @@ -307,7 +307,7 @@ class UILoadDemoSavefiles(val remoCon: UIRemoCon) : Advanceable() { } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { if (mode == 2) { loadFired += 1 @@ -348,7 +348,7 @@ class UILoadDemoSavefiles(val remoCon: UIRemoCon) : Advanceable() { it.posX += uiXdiffChatOverlay if (index in listScroll - 2 until listScroll + savesVisible + 2) - it.render(batch, camera) + it.render(frameDelta, batch, camera) if (App.getConfigBoolean("fx_streamerslayout")) it.posX -= uiXdiffChatOverlay @@ -607,7 +607,7 @@ class UIItemPlayerCells( private val avatarViewWidth = 120 - fun render(batch: SpriteBatch, camera: OrthographicCamera, offX: Int, offY: Int) { + fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera, offX: Int, offY: Int) { // try to generate a texture if (!hasTexture) { acquirePlayerAvatar(); hasTexture = true } @@ -677,8 +677,8 @@ class UIItemPlayerCells( } } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { - render(batch, camera, 0, 0) + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + render(frameDelta, batch, camera, 0, 0) } private fun acquirePlayerAvatar() { @@ -846,7 +846,7 @@ class UIItemWorldCells( highlightCol = if (mouseUp) Toolkit.Theme.COL_MOUSE_UP else Toolkit.Theme.COL_LIST_DEFAULT } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // try to generate a texture if (skimmer.initialised && !hasTexture) { // load thumbnail or use stock if the file is not there @@ -904,7 +904,7 @@ class UIItemWorldCells( if (saveDamaged) batch.color = colourBad App.fontGame.draw(batch, saveName, x + 3f, y + -1f) - super.render(batch, camera) + super.render(frameDelta, batch, camera) batch.color = Color.WHITE } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt index a032fe5fd..a26ae8b9d 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt @@ -171,7 +171,7 @@ class UILoadList(val full: UILoadSavegame) : UICanvas() { } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.end() val cells = playerCells @@ -190,7 +190,7 @@ class UILoadList(val full: UILoadSavegame) : UICanvas() { it.posX += uiXdiffChatOverlay if (index in listScroll - 2 until listScroll + savesVisible + 2) - it.render(batch, camera) + it.render(frameDelta, batch, camera) if (App.getConfigBoolean("fx_streamerslayout")) it.posX -= uiXdiffChatOverlay diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt index 1e7d3d33d..49dcb50ab 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt @@ -344,15 +344,15 @@ class UILoadManage(val full: UILoadSavegame) : UICanvas() { private val icons = CommonResourcePool.getAsTextureRegionPack("inventory_category") - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { if (mode != MODE_SHOW_LOAD_ORDER) { val buttonYdelta = (full.titleTopGradEnd) - full.playerButtonSelected!!.posY - full.playerButtonSelected!!.render(batch, camera, 0, buttonYdelta) + full.playerButtonSelected!!.render(frameDelta, batch, camera, 0, buttonYdelta) } when (mode) { MODE_INIT -> { - mainButtons.forEach { it.render(batch, camera) } + mainButtons.forEach { it.render(frameDelta, batch, camera) } // draw thumbnails of the most recent game // val tex = screencap ?: CommonResourcePool.getAsTextureRegion("terrarum-defaultsavegamethumb") @@ -378,11 +378,11 @@ class UILoadManage(val full: UILoadSavegame) : UICanvas() { Toolkit.drawTextCentered(batch, App.fontGame, Lang["MENU_LABEL_SAVE_WILL_BE_DELETED"], Toolkit.drawWidth, 0, full.titleTopGradEnd + full.cellInterval + SAVE_CELL_HEIGHT + 36) Toolkit.drawTextCentered(batch, App.fontGame, Lang["MENU_LABEL_ARE_YOU_SURE"], Toolkit.drawWidth, 0, full.titleTopGradEnd + full.cellInterval + SAVE_CELL_HEIGHT + 36 + 24) - delButtons.forEach { it.render(batch, camera) } + delButtons.forEach { it.render(frameDelta, batch, camera) } } MODE_RENAME -> { - renameInput.render(batch, camera) - renameButtons.forEach { it.render(batch, camera) } + renameInput.render(frameDelta, batch, camera) + renameButtons.forEach { it.render(frameDelta, batch, camera) } } MODE_LOAD -> { loadFiredFrameCounter += 1 @@ -417,7 +417,7 @@ class UILoadManage(val full: UILoadSavegame) : UICanvas() { App.fontGame.draw(batch, s, wx64, modulesBoxBaseY + 32 + App.fontGame.lineHeight.toInt() * index) } - modulesBackButton.render(batch, camera) + modulesBackButton.render(frameDelta, batch, camera) } MODE_PREV_SAVES -> { val modulesBoxBaseY2 = full.titleTopGradEnd + SAVE_CELL_HEIGHT + listGap + 4 @@ -449,7 +449,7 @@ class UILoadManage(val full: UILoadSavegame) : UICanvas() { } } - modulesBackButton.render(batch, camera) + modulesBackButton.render(frameDelta, batch, camera) } } } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadNewCharacter.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadNewCharacter.kt index 62a66891a..bd3969d0d 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadNewCharacter.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadNewCharacter.kt @@ -22,7 +22,7 @@ class UILoadNewCharacter(val full: UILoadSavegame) : UICanvas() { TODO("Not yet implemented") } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { TODO("Not yet implemented") } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt index adc37f9d1..f1db70038 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt @@ -147,8 +147,8 @@ class UILoadSavegame(val remoCon: UIRemoCon) : Advanceable() { transitionPanel.update(delta) } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { - transitionPanel.render(batch, camera) + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + transitionPanel.render(frameDelta, batch, camera) } override fun inputStrobed(e: TerrarumKeyboardEvent) { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UINewCharacter.kt b/src/net/torvald/terrarum/modulebasegame/ui/UINewCharacter.kt index 6ab18a835..4966a1e85 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UINewCharacter.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UINewCharacter.kt @@ -126,7 +126,7 @@ class UINewCharacter(val remoCon: UIRemoCon) : UICanvas() { } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = Color.WHITE // ui title // val titlestr = Lang["CONTEXT_WORLD_NEW"] @@ -136,7 +136,7 @@ class UINewCharacter(val remoCon: UIRemoCon) : UICanvas() { // name/seed input labels App.fontGame.draw(batch, Lang["MENU_NAME"], drawX, drawY + row1) - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } override fun dispose() { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt b/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt index ff1f1a1db..eedb94dbd 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt @@ -272,7 +272,7 @@ class UINewWorld(val remoCon: UIRemoCon) : UICanvas() { uiItems.forEach { it.update(delta) } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = Color.WHITE // ui title // val titlestr = Lang["CONTEXT_WORLD_NEW"] @@ -322,7 +322,7 @@ class UINewWorld(val remoCon: UIRemoCon) : UICanvas() { } } - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } override fun dispose() { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIPaletteSelector.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIPaletteSelector.kt index 3e2bd989d..7989b93fe 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIPaletteSelector.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIPaletteSelector.kt @@ -69,7 +69,7 @@ class UIPaletteSelector(val parent: BuildingMaker) : UICanvas() { } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // draw title bar batch.color = UINSMenu.DEFAULT_TITLEBACKCOL blendNormalStraightAlpha(batch) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt index 95ddfe91b..0322833c5 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt @@ -41,9 +41,9 @@ class UIPerformanceControlPanel(remoCon: UIRemoCon?) : UICanvas() { uiItems.forEach { it.update(delta) } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { ControlPanelCommon.render("basegame.performancecontrolpanel", width, batch) - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } override fun dispose() { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIProxyLoadLatestSave.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIProxyLoadLatestSave.kt index 5b571d506..35426e0e8 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIProxyLoadLatestSave.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIProxyLoadLatestSave.kt @@ -18,7 +18,7 @@ class UIProxyLoadLatestSave(val remoCon: UIRemoCon) : UICanvas() { override fun updateUI(delta: Float) { } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { } override fun doOpening(delta: Float) { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewBuildingMaker.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewBuildingMaker.kt index f92692320..34165c829 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewBuildingMaker.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewBuildingMaker.kt @@ -22,7 +22,7 @@ class UIProxyNewBuildingMaker(val remoCon: UIRemoCon) : UICanvas() { override fun updateUI(delta: Float) { } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { } override fun doOpening(delta: Float) { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewRandomGame.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewRandomGame.kt index 78d540e53..1571c3aa4 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewRandomGame.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewRandomGame.kt @@ -25,7 +25,7 @@ class UIProxyNewRandomGame(val remoCon: UIRemoCon) : UICanvas() { override fun updateUI(delta: Float) { } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { } override fun doOpening(delta: Float) { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotBar.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotBar.kt index a677dbb96..581c46229 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotBar.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotBar.kt @@ -87,7 +87,7 @@ class UIQuickslotBar : UICanvas() { private val itemCntTextCol = Color(0x404040ff) - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { (Terrarum.ingame!! as TerrarumIngame).actorNowPlaying?.let { actor -> for (i in 0 until SLOT_COUNT) { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotPie.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotPie.kt index 8e934b8d7..a8918e215 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotPie.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIQuickslotPie.kt @@ -69,7 +69,7 @@ class UIQuickslotPie : UICanvas() { private val drawColor = Color(1f, 1f, 1f, 1f) - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // draw radial thingies for (i in 0 until slotCount) { val qs = (Terrarum.ingame!! as TerrarumIngame).actorNowPlaying?.inventory?.getQuickslotItem(i) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt index e7a666294..eec2af26b 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt @@ -220,9 +220,9 @@ open class UIRemoCon(val parent: TitleScreen, val treeRoot: QNDTreeNode) openUI = external } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { - remoConTray.render(batch, camera) - openUI?.render(batch, camera) + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + remoConTray.render(frameDelta, batch, camera) + openUI?.render(frameDelta, batch, camera) } override fun doOpening(delta: Float) { @@ -314,8 +314,8 @@ open class UIRemoCon(val parent: TitleScreen, val treeRoot: QNDTreeNode) menubar.update(delta) } - fun render(batch: SpriteBatch, camera: OrthographicCamera) { - menubar.render(batch, camera) + fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + menubar.render(frameDelta, batch, camera) } // nullifies currently selected item diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIScreenZoom.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIScreenZoom.kt index 713a6d89f..d415f9e38 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIScreenZoom.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIScreenZoom.kt @@ -45,7 +45,7 @@ class UIScreenZoom : UICanvas( override fun updateUI(delta: Float) { } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = Color.WHITE val offX = (App.scr.tvSafeGraphicsWidth * 1.25f).roundToInt().toFloat() diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIShare.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIShare.kt index 56ea9cabe..4f51dfa6c 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIShare.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIShare.kt @@ -42,7 +42,7 @@ class UIShare : UICanvas() { private lateinit var wotKeys: List - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = Color.WHITE val textY = drawY + (height/2) - App.fontGame.lineHeight.toInt() * 4 - 2 @@ -68,7 +68,7 @@ class UIShare : UICanvas() { } - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt index ba31ae41d..df3cf87fe 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt @@ -41,9 +41,9 @@ class UISoundControlPanel(remoCon: UIRemoCon?) : UICanvas() { uiItems.forEach { it.update(delta) } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { ControlPanelCommon.render("basegame.soundcontrolpanel", width, batch) - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } override fun dispose() { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIStorageChest.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIStorageChest.kt index 5c15f0bd8..d0f043bd1 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIStorageChest.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIStorageChest.kt @@ -180,16 +180,16 @@ internal class UIStorageChest : UICanvas( else "${App.gamepadLabelStart} ${Lang["GAME_ACTION_CLOSE"]} " - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // background fill UIInventoryFull.drawBackground(batch, 1f) // UI items batch.color = Color.WHITE - catBar.render(batch, camera) - itemListChest.render(batch, camera) - itemListPlayer.render(batch, camera) + catBar.render(frameDelta, batch, camera) + itemListChest.render(frameDelta, batch, camera) + itemListPlayer.render(frameDelta, batch, camera) blendNormalStraightAlpha(batch) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt index d4c0ac920..d65d767a7 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt @@ -110,11 +110,11 @@ class UITitleLanguage(remoCon: UIRemoCon?) : UICanvas() { } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = Color.WHITE - textArea1.render(batch, camera) - textArea2.render(batch, camera) + textArea1.render(frameDelta, batch, camera) + textArea2.render(frameDelta, batch, camera) } override fun show() { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt index bdc237909..6d08fbe55 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt @@ -138,7 +138,7 @@ class UITitleModules(val remoCon: UIRemoCon) : UICanvas() { moduleCells.clear() } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.end() lateinit var savePixmap: Pixmap @@ -151,7 +151,7 @@ class UITitleModules(val remoCon: UIRemoCon) : UICanvas() { for (index in 0 until moduleCells.size) { val it = moduleCells[index] if (index in listScroll - 2 until listScroll + savesVisible + 2) { - it.render(batch, camera) + it.render(frameDelta, batch, camera) } } } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConRoot.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConRoot.kt index 6ad6d4f17..d7b8ab832 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConRoot.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConRoot.kt @@ -124,8 +124,8 @@ package net.torvald.terrarum.modulebasegame.ui //println("UITitleRemoConRoot bro u even updatez") } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { - menubar.render(batch, camera) + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + menubar.render(frameDelta, batch, camera) } override fun doOpening(delta: Float) { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt index 9c6653ca2..f90bae25d 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt @@ -49,10 +49,10 @@ open class UITitleWallOfText(private val text: List) : UICanvas() { scrollbar?.update(delta) } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = Color.WHITE - textArea.render(batch, camera) - scrollbar?.render(batch, camera) + textArea.render(frameDelta, batch, camera) + scrollbar?.render(frameDelta, batch, camera) //AppLoader.printdbg(this, "Rendering texts of length ${text.size}") } @@ -120,7 +120,7 @@ class UISystemInfo(val remoCon: UIRemoCon) : UICanvas() { uptime = App.getTIME_T() - App.startupTime } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { var i = 0 v.forEach { (k, v0) -> diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITooltip.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITooltip.kt index 0e0108270..d7fde7a34 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITooltip.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITooltip.kt @@ -48,7 +48,7 @@ class UITooltip : UICanvas() { get() = 36 * 2 + font.lineHeight.toInt() set(value) { throw Error("You are not supposed to set the height of the tooltip manually.") } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { val mouseXoff = 28f val mouseYoff = 0f val txtW = msgWidth + 2f * textMarginX diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIVitalMetre.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIVitalMetre.kt index 962da76d2..e4a3f2b33 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIVitalMetre.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIVitalMetre.kt @@ -63,7 +63,7 @@ class UIVitalMetre( /** * g must be same as World Graphics! */ - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // TODO now that we just can't draw arcs, we need to re-think about this /*if (vitalGetterVal() != null && vitalGetterMax() != null && player != null) { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWallCalendar.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWallCalendar.kt index 64d6fbf0b..4f94c76c2 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWallCalendar.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWallCalendar.kt @@ -79,7 +79,7 @@ class UIWallCalendar : UICanvas( } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { UIInventoryFull.drawBackground(batch, 1f) val thisYear = INGAME.world.worldTime.years diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWatchLargeAnalogue.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWatchLargeAnalogue.kt index 55a9971b2..d5e60adc9 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWatchLargeAnalogue.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWatchLargeAnalogue.kt @@ -49,7 +49,7 @@ class UIWatchLargeAnalogue() : UICanvas() { private val TWO_PI = 2.0 * Math.PI - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { TerrarumIngame.setCameraPosition(batch, App.shapeRender, camera, posX.toFloat(), posY.toFloat()) val day = INGAME.world.worldTime.calendarDay - 1 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWatchLargeDigital.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWatchLargeDigital.kt index 6985ea83f..cfb6d9722 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWatchLargeDigital.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWatchLargeDigital.kt @@ -69,7 +69,7 @@ class UIWatchLargeDigital() : UICanvas() { } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // disabling light button batch.color = Color.WHITE batch.draw(watchface, -1f, -1f) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortal.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortal.kt index 47f4f3eeb..8aee3d097 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortal.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortal.kt @@ -119,11 +119,11 @@ class UIWorldPortal : UICanvas( transitionPanel.update(delta) } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { drawBackground(batch, 1f) // UI items - transitionPanel.render(batch, camera) + transitionPanel.render(frameDelta, batch, camera) } internal fun addWorldToPlayersDict(uuid: UUID) { @@ -280,11 +280,11 @@ class UIItemWorldPortalTopBar( } } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { - super.render(batch, camera) + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + super.render(frameDelta, batch, camera) // button - /*buttons.forEach { it.render(batch, camera) } + /*buttons.forEach { it.render(frameDelta, batch, camera) } // label batch.color = Color.WHITE diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalCargo.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalCargo.kt index 9cc4b143d..a4d289616 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalCargo.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalCargo.kt @@ -172,16 +172,16 @@ class UIWorldPortalCargo(val full: UIWorldPortal) : UICanvas(), HasInventory { else "${App.gamepadLabelStart} ${Lang["GAME_ACTION_CLOSE"]} " - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // background fill UIInventoryFull.drawBackground(batch, 1f) // UI items batch.color = Color.WHITE - catBar.render(batch, camera) - itemListChest.render(batch, camera) - itemListPlayer.render(batch, camera) + catBar.render(frameDelta, batch, camera) + itemListChest.render(frameDelta, batch, camera) + itemListPlayer.render(frameDelta, batch, camera) blendNormalStraightAlpha(batch) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalDelete.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalDelete.kt index 45cfc2a63..f63bb5a5a 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalDelete.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalDelete.kt @@ -45,14 +45,14 @@ class UIWorldPortalDelete(private val full: UIWorldPortal) : UICanvas() { } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { full.selectedButton?.let { val buttonYdelta = (App.scr.tvSafeGraphicsHeight + 172 + 36) - it.posY val buttonXdelta = (Toolkit.drawWidth - it.width) / 2 - it.posX - it.render(batch, camera, buttonXdelta, buttonYdelta) + it.render(frameDelta, batch, camera, buttonXdelta, buttonYdelta) } - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } batch.color = Color.WHITE // ui title diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalListing.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalListing.kt index e29775aa2..38754ceea 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalListing.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalListing.kt @@ -389,7 +389,7 @@ class UIWorldPortalListing(val full: UIWorldPortal) : UICanvas() { private var selectedWorldThumb: TextureRegion? = null val icons = CommonResourcePool.getAsTextureRegionPack("terrarum-basegame-worldportalicons") - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { val memoryGaugeXpos = hx - memoryGaugeWidth - gridGap/2 val memoryGaugeYpos = y + listHeight - buttonHeight val textXpos = memoryGaugeXpos + 3 @@ -454,8 +454,8 @@ class UIWorldPortalListing(val full: UIWorldPortal) : UICanvas() { } - uiItems.forEach { it.render(batch, camera) } - if (::worldCells.isInitialized) worldCells.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } + if (::worldCells.isInitialized) worldCells.forEach { it.render(frameDelta, batch, camera) } // control hints batch.color = Color.WHITE @@ -565,8 +565,8 @@ class UIItemWorldCellsSimple( super.update(delta) } - fun render(batch: SpriteBatch, camera: OrthographicCamera, offX: Int, offY: Int) { - super.render(batch, camera) + fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera, offX: Int, offY: Int) { + super.render(frameDelta, batch, camera) val posX = posX + offX val posY = posY + offY @@ -597,8 +597,8 @@ class UIItemWorldCellsSimple( } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { - render(batch, camera, 0, 0) + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + render(frameDelta, batch, camera, 0, 0) } override fun scrolled(amountX: Float, amountY: Float): Boolean { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalRename.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalRename.kt index 4acb27268..7143d7345 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalRename.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalRename.kt @@ -64,7 +64,7 @@ class UIWorldPortalRename(private val full: UIWorldPortal) : UICanvas() { private var oldPosX = full.posX - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { val posXDelta = posX - oldPosX // ugh why won't you just scroll along?? @@ -78,14 +78,14 @@ class UIWorldPortalRename(private val full: UIWorldPortal) : UICanvas() { full.selectedButton?.let { val buttonYdelta = (App.scr.tvSafeGraphicsHeight + 172 + 36) - it.posY val buttonXdelta = (Toolkit.drawWidth - it.width) / 2 - it.posX - it.render(batch, camera, buttonXdelta, buttonYdelta) + it.render(frameDelta, batch, camera, buttonXdelta, buttonYdelta) } // control hints batch.color = Color.WHITE App.fontGame.draw(batch, full.portalListingControlHelp, (Toolkit.drawWidth - width)/2 + 2, (full.yEnd - 20).toInt()) - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } oldPosX = posX } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalSearch.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalSearch.kt index 2a1f449cd..5a6505590 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalSearch.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalSearch.kt @@ -159,7 +159,7 @@ class UIWorldPortalSearch(val full: UIWorldPortal) : UICanvas() { val icons = CommonResourcePool.getAsTextureRegionPack("terrarum-basegame-worldportalicons") - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { val memoryGaugeXpos = hx - memoryGaugeWidth/2 val memoryGaugeYpos = drawY + sizeSelY + buttonHeight + 10 val textXpos = memoryGaugeXpos + 3 @@ -233,7 +233,7 @@ class UIWorldPortalSearch(val full: UIWorldPortal) : UICanvas() { batch.color = Color.WHITE App.fontGame.draw(batch, full.portalListingControlHelp, 2 + (Toolkit.drawWidth - 560)/2 + 2, (full.yEnd - 20).toInt()) - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } oldPosX = posX } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalShare.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalShare.kt index 434ef8e47..9f967d09b 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalShare.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalShare.kt @@ -60,7 +60,7 @@ class UIWorldPortalShare(private val full: UIWorldPortal) : UICanvas() { private lateinit var wotKeys: List - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = Color.WHITE val textY = drawY + (height/2) - App.fontGame.lineHeight.toInt() * 4 - 2 @@ -93,7 +93,7 @@ class UIWorldPortalShare(private val full: UIWorldPortal) : UICanvas() { // control hints App.fontGame.draw(batch, full.portalListingControlHelp, (Toolkit.drawWidth - width)/2 + 2, (full.yEnd - 20).toInt()) - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalUseInvitation.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalUseInvitation.kt index 63affc470..72fc7c139 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalUseInvitation.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWorldPortalUseInvitation.kt @@ -112,7 +112,7 @@ class UIWorldPortalUseInvitation(val full: UIWorldPortal) : UICanvas() { uiItems.forEach { it.update(delta) } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // error messages if (importReturnCode != 0) { batch.color = Toolkit.Theme.COL_RED @@ -128,7 +128,7 @@ class UIWorldPortalUseInvitation(val full: UIWorldPortal) : UICanvas() { // control hints App.fontGame.draw(batch, full.portalListingControlHelp, 2 + (Toolkit.drawWidth - 560)/2 + 2, (full.yEnd - 20).toInt()) - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } override fun dispose() { diff --git a/src/net/torvald/terrarum/tests/UIElemTest.kt b/src/net/torvald/terrarum/tests/UIElemTest.kt index 153305e78..189aa526a 100644 --- a/src/net/torvald/terrarum/tests/UIElemTest.kt +++ b/src/net/torvald/terrarum/tests/UIElemTest.kt @@ -87,7 +87,7 @@ class UIElemTest : ApplicationAdapter() { gdxClearAndEnableBlend(0.1f, 0.1f, 0.1f, 1f) ui.update(Gdx.graphics.deltaTime) - ui.render(batch, camera) + ui.render(Gdx.graphics.deltaTime, batch, camera) Gdx.graphics.setTitle("Terrarum UIElemTest $EMDASH F: ${Gdx.graphics.framesPerSecond}") } @@ -122,13 +122,13 @@ class DummyTogglePane : UICanvas() { uiItems.forEach { it.update(delta) } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.inUse { batch.color = Color.CORAL Toolkit.fillArea(batch, 0f, 0f, 800f, 600f) batch.color = Color.WHITE - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } } diff --git a/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt b/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt index c53635467..f0518b072 100644 --- a/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt +++ b/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt @@ -128,7 +128,7 @@ class BasicDebugInfoWindow : UICanvas() { private val tileCursX = 0; private val tileCursY = 4 - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { TerrarumIngame.setCameraPosition(batch, App.shapeRender, camera, 0f, 0f) // toggle show-something diff --git a/src/net/torvald/terrarum/ui/ConsoleWindow.kt b/src/net/torvald/terrarum/ui/ConsoleWindow.kt index 8c2749d29..5b28326fc 100644 --- a/src/net/torvald/terrarum/ui/ConsoleWindow.kt +++ b/src/net/torvald/terrarum/ui/ConsoleWindow.kt @@ -104,7 +104,7 @@ class ConsoleWindow : UICanvas() { textinput.isEnabled = (isOpened && !isClosing) } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // background batch.color = UIColour Toolkit.fillArea(batch, drawOffX, drawOffY, width.toFloat(), height.toFloat()) @@ -132,7 +132,7 @@ class ConsoleWindow : UICanvas() { App.fontGame.draw(batch, message, 1f + drawOffX, (LINE_HEIGHT * (MESSAGES_DISPLAY_COUNT - i)).toFloat() + drawOffY + inputToMsgboxGap) } - uiItems.forEach { it.render(batch, camera) } + uiItems.forEach { it.render(frameDelta, batch, camera) } } override fun inputStrobed(e: TerrarumKeyboardEvent) { diff --git a/src/net/torvald/terrarum/ui/UIAutosaveNotifier.kt b/src/net/torvald/terrarum/ui/UIAutosaveNotifier.kt index dbdea8d15..0308f0b65 100644 --- a/src/net/torvald/terrarum/ui/UIAutosaveNotifier.kt +++ b/src/net/torvald/terrarum/ui/UIAutosaveNotifier.kt @@ -56,7 +56,7 @@ class UIAutosaveNotifier : UICanvas() { } } - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { val spin = spinner.get(spinnerFrame % 8, spinnerFrame / 8) val offX = App.scr.width - WIDTH - (App.scr.tvSafeGraphicsWidth * 1.25f).roundToInt().toFloat() val offY = App.scr.height - HEIGHT - App.scr.tvSafeGraphicsHeight - 9f // +9 to align to quickslot and watch UI diff --git a/src/net/torvald/terrarum/ui/UICanvas.kt b/src/net/torvald/terrarum/ui/UICanvas.kt index 1e27b82bf..ee71e1d68 100644 --- a/src/net/torvald/terrarum/ui/UICanvas.kt +++ b/src/net/torvald/terrarum/ui/UICanvas.kt @@ -120,8 +120,8 @@ abstract class UICanvas( handler.update(this, delta) } /** Called by the screen */ - fun render(batch: SpriteBatch, camera: OrthographicCamera, parentOpacity: Float = 1f) { - handler.render(this, batch, camera, parentOpacity) + fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera, parentOpacity: Float = 1f) { + handler.render(this, frameDelta, batch, camera, parentOpacity) } @@ -156,7 +156,7 @@ abstract class UICanvas( * The transparency of the handler is independent of the draw, you must set the drawing color yourself * (use handler.opacity or handler.opacityColour) */ - abstract fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) + abstract fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) /** * Do not modify ui.handler.openCloseCounter here. diff --git a/src/net/torvald/terrarum/ui/UIHandler.kt b/src/net/torvald/terrarum/ui/UIHandler.kt index 67ac2fb73..21dfa3543 100644 --- a/src/net/torvald/terrarum/ui/UIHandler.kt +++ b/src/net/torvald/terrarum/ui/UIHandler.kt @@ -281,7 +281,7 @@ void main() { subUIs.forEach { it.update(delta) } } - fun render(ui: UICanvas, batch: SpriteBatch, camera: OrthographicCamera, parentOpacity: Float) { + fun render(ui: UICanvas, frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera, parentOpacity: Float) { if (isVisible) { // camera SHOULD BE CENTERED to HALFX and HALFY (see StateInGame) // @@ -301,7 +301,7 @@ void main() { batch.shader = shader shader.setUniformf("opacity", opacity * parentOpacity) - ui.renderUI(batch, camera) + ui.renderUI(frameDelta, batch, camera) //ingameGraphics.flush() batch.shader = null @@ -313,7 +313,7 @@ void main() { subUIs.forEach { - it.render(batch, camera) + it.render(frameDelta, batch, camera) batch.color = Color.WHITE } diff --git a/src/net/torvald/terrarum/ui/UIItem.kt b/src/net/torvald/terrarum/ui/UIItem.kt index 8bd8e48b5..c99fc8a77 100644 --- a/src/net/torvald/terrarum/ui/UIItem.kt +++ b/src/net/torvald/terrarum/ui/UIItem.kt @@ -177,13 +177,13 @@ abstract class UIItem(var parentUI: UICanvas, val initialX: Int, val initialY: I /** * In this time, you do write like: ```draw(posX + 4, posY + 32)```, unlike UICanvas, because posX/posY comes from the parent UI. */ - open fun render(batch: SpriteBatch, camera: OrthographicCamera) { + open fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { if (parentUI.isVisible) { // if (isActive) { - mouseOverCall?.render(batch, camera) + mouseOverCall?.render(frameDelta, batch, camera) if (mouseUp) { - mouseOverCall?.renderUI(batch, camera) + mouseOverCall?.renderUI(frameDelta, batch, camera) } // } } diff --git a/src/net/torvald/terrarum/ui/UIItemConfigKeycap.kt b/src/net/torvald/terrarum/ui/UIItemConfigKeycap.kt index 8e094f1c3..3afd86090 100644 --- a/src/net/torvald/terrarum/ui/UIItemConfigKeycap.kt +++ b/src/net/torvald/terrarum/ui/UIItemConfigKeycap.kt @@ -40,7 +40,7 @@ class UIItemConfigKeycap( super.update(delta) } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // draw keycap batch.draw(capTex.get(0, 0), posX.toFloat(), posY.toFloat()) batch.draw(capTex.get(1, 0), (posX + capTex.tileW).toFloat(), posY.toFloat(), @@ -54,7 +54,7 @@ class UIItemConfigKeycap( // draw icon - super.render(batch, camera) + super.render(frameDelta, batch, camera) } override fun dispose() { diff --git a/src/net/torvald/terrarum/ui/UIItemHorzSlider.kt b/src/net/torvald/terrarum/ui/UIItemHorzSlider.kt index c9f32636e..fda28e4c5 100644 --- a/src/net/torvald/terrarum/ui/UIItemHorzSlider.kt +++ b/src/net/torvald/terrarum/ui/UIItemHorzSlider.kt @@ -95,11 +95,11 @@ class UIItemHorzSlider( private val renderOrderMouseUp = arrayOf(0,2,3,1).map { renderJobs[it] } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) renderOrderMouseUp.forEach { it(batch) } - super.render(batch, camera) + super.render(frameDelta, batch, camera) } override fun dispose() { diff --git a/src/net/torvald/terrarum/ui/UIItemImageButton.kt b/src/net/torvald/terrarum/ui/UIItemImageButton.kt index 6adb6a23a..545fe8f72 100644 --- a/src/net/torvald/terrarum/ui/UIItemImageButton.kt +++ b/src/net/torvald/terrarum/ui/UIItemImageButton.kt @@ -54,7 +54,7 @@ open class UIItemImageButton( var highlighted = false var extraDrawOp: (UIItem, SpriteBatch) -> Unit = { _,_ -> } - fun render(batch: SpriteBatch, camera: OrthographicCamera, offX: Int, offY: Int) { + fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera, offX: Int, offY: Int) { val posX = this.posX + offX val posY = this.posY + offY @@ -93,8 +93,8 @@ open class UIItemImageButton( extraDrawOp(this, batch) } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { - render(batch, camera, 0, 0) + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + render(frameDelta, batch, camera, 0, 0) } override fun dispose() { diff --git a/src/net/torvald/terrarum/ui/UIItemImageGallery.kt b/src/net/torvald/terrarum/ui/UIItemImageGallery.kt index 73274234a..a94d62614 100644 --- a/src/net/torvald/terrarum/ui/UIItemImageGallery.kt +++ b/src/net/torvald/terrarum/ui/UIItemImageGallery.kt @@ -24,7 +24,7 @@ class UIItemImageGallery( override fun update(delta: Float) { } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { fun column(i: Int) = i % column fun row(i: Int) = i / column diff --git a/src/net/torvald/terrarum/ui/UIItemInlineRadioButtons.kt b/src/net/torvald/terrarum/ui/UIItemInlineRadioButtons.kt index d7052c744..516485663 100644 --- a/src/net/torvald/terrarum/ui/UIItemInlineRadioButtons.kt +++ b/src/net/torvald/terrarum/ui/UIItemInlineRadioButtons.kt @@ -52,7 +52,7 @@ class UIItemInlineRadioButtons( super.update(delta) } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { // backgrounds batch.color = UIItemTextLineInput.TEXTINPUT_COL_BACKGROUND for (i in labelfuns.indices) { @@ -96,7 +96,7 @@ class UIItemInlineRadioButtons( App.fontGame.draw(batch, text, xpos + (cellWidth - tw) / 2, posY) - super.render(batch, camera) + super.render(frameDelta, batch, camera) } override fun dispose() { diff --git a/src/net/torvald/terrarum/ui/UIItemList.kt b/src/net/torvald/terrarum/ui/UIItemList.kt index eeb2dff65..1be67ee88 100644 --- a/src/net/torvald/terrarum/ui/UIItemList.kt +++ b/src/net/torvald/terrarum/ui/UIItemList.kt @@ -121,7 +121,7 @@ class UIItemList( oldPosX = posX } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = backgroundCol BlendMode.resolve(backgroundBlendMode, batch) Toolkit.fillArea(batch, posX.toFloat(), posY.toFloat(), width.toFloat(), height.toFloat()) @@ -132,7 +132,7 @@ class UIItemList( Toolkit.fillArea(batch, posX.toFloat(), highlightY!!.toFloat(), width.toFloat(), UIItemTextButton.height.toFloat()) } - itemList.forEach { it.render(batch, camera) } + itemList.forEach { it.render(frameDelta, batch, camera) } batch.color = backgroundCol } diff --git a/src/net/torvald/terrarum/ui/UIItemModuleInfoCell.kt b/src/net/torvald/terrarum/ui/UIItemModuleInfoCell.kt index d91c67e9c..c312a1cb8 100644 --- a/src/net/torvald/terrarum/ui/UIItemModuleInfoCell.kt +++ b/src/net/torvald/terrarum/ui/UIItemModuleInfoCell.kt @@ -72,7 +72,7 @@ class UIItemModuleInfoCell( private val ccNum2 = App.fontGame.toColorCode(12,11,4) private val ccDesc = App.fontGame.toColorCode(13,13,13) - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) batch.color = Toolkit.Theme.COL_CELL_FILL diff --git a/src/net/torvald/terrarum/ui/UIItemSpinner.kt b/src/net/torvald/terrarum/ui/UIItemSpinner.kt index ea2a2664b..7d675517b 100644 --- a/src/net/torvald/terrarum/ui/UIItemSpinner.kt +++ b/src/net/torvald/terrarum/ui/UIItemSpinner.kt @@ -118,7 +118,7 @@ class UIItemSpinner( fboUpdateLatch = true } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.end() @@ -186,7 +186,7 @@ class UIItemSpinner( // batch.draw(fbo.colorBufferTexture, posX + buttonW + 3f, posY + 2f, fbo.width.toFloat(), fbo.height.toFloat()) App.fontGame.draw(batch, textCache, posX + buttonW + 3f + (fboWidth - textCacheLen).div(2), posY.toFloat()) - super.render(batch, camera) + super.render(frameDelta, batch, camera) // batch.color = Color.WHITE // App.fontSmallNumbers.draw(batch, "${valueType.simpleName}", posX.toFloat(), posY.toFloat()) // draws "Integer" or "Double" diff --git a/src/net/torvald/terrarum/ui/UIItemTextArea.kt b/src/net/torvald/terrarum/ui/UIItemTextArea.kt index d553706f8..9db2430ce 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextArea.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextArea.kt @@ -34,7 +34,7 @@ class UIItemTextArea( if (scrollPos < 0) scrollPos = 0 } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { for (i in scrollPos until min(lineCount + scrollPos, entireText.size)) { val yPtr = i - scrollPos diff --git a/src/net/torvald/terrarum/ui/UIItemTextButton.kt b/src/net/torvald/terrarum/ui/UIItemTextButton.kt index 0d8d8ee06..273273945 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextButton.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextButton.kt @@ -75,7 +75,7 @@ open class UIItemTextButton( super.update(delta) } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { val textW = font.getWidth(label) val fontX = when (alignment) { Alignment.CENTRE -> posX + width.minus(textW).div(2) + (paddingLeft - paddingRight).div(2) diff --git a/src/net/torvald/terrarum/ui/UIItemTextButtonList.kt b/src/net/torvald/terrarum/ui/UIItemTextButtonList.kt index 22ce89500..6a9afbc7a 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextButtonList.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextButtonList.kt @@ -224,7 +224,7 @@ class UIItemTextButtonList( oldPosX = posX } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { /*if (kinematic) { batch.color = backgroundCol @@ -243,7 +243,7 @@ class UIItemTextButtonList( Toolkit.fillArea(batch, posX, posY, width, height) - buttons.forEach { it.render(batch, camera) } + buttons.forEach { it.render(frameDelta, batch, camera) } if (iconSpriteSheet != null) { diff --git a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt index b69120b0a..94b6e7f9a 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt @@ -525,7 +525,7 @@ class UIItemTextLineInput( private var textDrawOffset = 0 - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { val posXDelta = posX - oldPosX @@ -683,7 +683,7 @@ class UIItemTextLineInput( } batch.color = Color.WHITE - super.render(batch, camera) + super.render(frameDelta, batch, camera) oldPosX = posX diff --git a/src/net/torvald/terrarum/ui/UIItemTextSelector.kt b/src/net/torvald/terrarum/ui/UIItemTextSelector.kt index 71f4a24a1..593ec5474 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextSelector.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextSelector.kt @@ -134,7 +134,7 @@ class UIItemTextSelector( private val leftIcon = if (useSpinnerButtons) labels.get(9,2) else labels.get(16,0) private val rightIcon = if (useSpinnerButtons) labels.get(10,2) else labels.get(17,0) - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { labelCache = labelfuns.map { it() } batch.end() @@ -238,7 +238,7 @@ class UIItemTextSelector( } } - super.render(batch, camera) + super.render(frameDelta, batch, camera) } diff --git a/src/net/torvald/terrarum/ui/UIItemToggleButton.kt b/src/net/torvald/terrarum/ui/UIItemToggleButton.kt index b436bd8f2..64a56ccab 100644 --- a/src/net/torvald/terrarum/ui/UIItemToggleButton.kt +++ b/src/net/torvald/terrarum/ui/UIItemToggleButton.kt @@ -135,7 +135,7 @@ class UIItemToggleButton( Color(0x00E800FF) ) - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) @@ -145,7 +145,7 @@ class UIItemToggleButton( renderOrderNormal.forEach { it(batch) } - super.render(batch, camera) + super.render(frameDelta, batch, camera) } override fun dispose() { diff --git a/src/net/torvald/terrarum/ui/UIItemTransitionContainer.kt b/src/net/torvald/terrarum/ui/UIItemTransitionContainer.kt index 06ca3ad25..fa6a553d3 100644 --- a/src/net/torvald/terrarum/ui/UIItemTransitionContainer.kt +++ b/src/net/torvald/terrarum/ui/UIItemTransitionContainer.kt @@ -59,8 +59,8 @@ open class UIItemTransitionContainer( open val currentUI: UICanvas get() = uis[currentPosition.roundToInt()] - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { - super.render(batch, camera) + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { + super.render(frameDelta, batch, camera) if (transitionRequested && !transitionOngoing) { transitionRequested = false @@ -69,7 +69,7 @@ open class UIItemTransitionContainer( } if (transitionOngoing) { - transitionTimer += Gdx.graphics.deltaTime + transitionTimer += frameDelta currentPosition = Movement.moveLinear(transitionReqSource, transitionReqTarget, transitionTimer, transitionLength) @@ -84,7 +84,7 @@ open class UIItemTransitionContainer( uis.forEachIndexed { index, ui -> if (currentPosition > index - 1 + epsilon && currentPosition < index + 1 - epsilon) { if (!ui.isOpened && !ui.isOpening) ui.setAsOpen() - ui.render(batch, camera, parent.opacity) + ui.render(frameDelta, batch, camera, parent.opacity) if (debugvals) { App.fontSmallNumbers.draw(batch, "$index", 300f + (20 * index), 10f) diff --git a/src/net/torvald/terrarum/ui/UIItemVertSlider.kt b/src/net/torvald/terrarum/ui/UIItemVertSlider.kt index a2a22dae6..643b6a4fb 100644 --- a/src/net/torvald/terrarum/ui/UIItemVertSlider.kt +++ b/src/net/torvald/terrarum/ui/UIItemVertSlider.kt @@ -93,11 +93,11 @@ class UIItemVertSlider( private val renderOrderMouseUp = arrayOf(0,2,3,1).map { renderJobs[it] } - override fun render(batch: SpriteBatch, camera: OrthographicCamera) { + override fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { blendNormalStraightAlpha(batch) renderOrderMouseUp.forEach { it(batch) } - super.render(batch, camera) + super.render(frameDelta, batch, camera) } override fun dispose() { diff --git a/src/net/torvald/terrarum/ui/UINSMenu.kt b/src/net/torvald/terrarum/ui/UINSMenu.kt index 0855400e4..8e1c5b997 100644 --- a/src/net/torvald/terrarum/ui/UINSMenu.kt +++ b/src/net/torvald/terrarum/ui/UINSMenu.kt @@ -186,7 +186,7 @@ class UINSMenu( private val borderCol = Color(1f, 1f, 1f, 0.35f) - override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) { + override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { listStack.forEach { // draw title bar batch.color = titleBackCol @@ -199,7 +199,7 @@ class UINSMenu( // draw the list batch.color = Color.WHITE - it.ui.render(batch, camera) + it.ui.render(frameDelta, batch, camera) // draw border batch.color = borderCol diff --git a/src/net/torvald/terrarum/weather/WeatherMixer.kt b/src/net/torvald/terrarum/weather/WeatherMixer.kt index 01a885e57..fea524e81 100644 --- a/src/net/torvald/terrarum/weather/WeatherMixer.kt +++ b/src/net/torvald/terrarum/weather/WeatherMixer.kt @@ -567,7 +567,7 @@ internal object WeatherMixer : RNGConsumer { /** * Sub-portion of IngameRenderer. You are not supposed to directly deal with this. */ - internal fun render(camera: OrthographicCamera, batch: FlippingSpriteBatch, world: GameWorld) { + internal fun render(frameDelta: Float, camera: OrthographicCamera, batch: FlippingSpriteBatch, world: GameWorld) { solarElev = if (forceSolarElev != null) forceSolarElev!! else if (forceTimeAt != null) @@ -576,7 +576,7 @@ internal object WeatherMixer : RNGConsumer { world.worldTime.solarElevationDeg drawSkybox(camera, batch, world) - drawClouds(batch, world) + drawClouds(frameDelta, batch, world) batch.color = Color.WHITE } @@ -598,7 +598,7 @@ internal object WeatherMixer : RNGConsumer { * Dependent on the `drawSkybox(camera, batch, world)` for the `cloudDrawColour` * */ - private fun drawClouds(batch: SpriteBatch, world: GameWorld) { + private fun drawClouds(frameDelta: Float, batch: SpriteBatch, world: GameWorld) { val currentWeather = world.weatherbox.currentWeather val timeNow = (forceTimeAt ?: world.worldTime.TIME_T.toInt()) % WorldTime.DAY_LENGTH @@ -617,7 +617,7 @@ internal object WeatherMixer : RNGConsumer { val shadiness = (1.0 / cosh(altOfSolarRay * 0.5)).toFloat().coerceAtLeast(if (altOfSolarRay < 0) 0.6666f else 0f) // printdbg(this, "cloudY=${-it.posY}\tsolarElev=$solarElev\trayAlt=$altOfSolarRay\tshady=$shadiness") - it.render(batch as UnpackedColourSpriteBatch, cloudDrawColour.toGdxColor(), shadiness) + it.render(frameDelta, batch as UnpackedColourSpriteBatch, cloudDrawColour.toGdxColor(), shadiness) } } } diff --git a/src/net/torvald/terrarum/weather/WeatherObject.kt b/src/net/torvald/terrarum/weather/WeatherObject.kt index 27e7a174d..1725229a6 100644 --- a/src/net/torvald/terrarum/weather/WeatherObject.kt +++ b/src/net/torvald/terrarum/weather/WeatherObject.kt @@ -28,6 +28,6 @@ abstract class WeatherObject : Disposable { var flagToDespawn = false abstract fun update() - abstract fun render(batch: SpriteBatch, offsetX: Float, offsetY: Float) + abstract fun render(frameDelta: Float, batch: SpriteBatch, offsetX: Float, offsetY: Float) } \ No newline at end of file diff --git a/src/net/torvald/terrarum/weather/WeatherObjectCloud.kt b/src/net/torvald/terrarum/weather/WeatherObjectCloud.kt index 7000d2a50..45eaa3cab 100644 --- a/src/net/torvald/terrarum/weather/WeatherObjectCloud.kt +++ b/src/net/torvald/terrarum/weather/WeatherObjectCloud.kt @@ -86,7 +86,7 @@ class WeatherObjectCloud( return java.lang.Float.intBitsToFloat(hi) } - fun render(batch: UnpackedColourSpriteBatch, cloudDrawColour0: Color, shadiness: Float) { + fun render(frameDelta: Float, batch: UnpackedColourSpriteBatch, cloudDrawColour0: Color, shadiness: Float) { val sc = screenCoord // printdbg(this, "gamma: (${rgbGamma}, ${aGamma}) index: ($rgbGammaIndex, $aGammaIndex)") @@ -107,7 +107,7 @@ class WeatherObjectCloud( * X/Y position is a bottom-centre point of the image * Shader must be prepared prior to the render() call */ - override fun render(batch: SpriteBatch, offsetX: Float, offsetY: Float) { + override fun render(frameDelta: Float, batch: SpriteBatch, offsetX: Float, offsetY: Float) { throw UnsupportedOperationException() }