From 859b55da020bdb4837afe375846f6506282f40ee Mon Sep 17 00:00:00 2001 From: yairm210 Date: Sat, 24 Aug 2024 22:21:35 +0300 Subject: [PATCH] Revert "Removed "continuous rendering" setting, should always be false since Actions 'override' this and all our animations use Actions" This reverts commit d1afbb4a6259d6273e8d3423d5353bdc8d9b8c2d. --- .../jsons/translations/template.properties | 5 +++++ core/src/com/unciv/UncivGame.kt | 2 +- .../com/unciv/models/metadata/GameSettings.kt | 1 + .../com/unciv/ui/popups/options/DisplayTab.kt | 19 +++++++++++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/android/assets/jsons/translations/template.properties b/android/assets/jsons/translations/template.properties index 80c6d19bfe..f2404c65e6 100644 --- a/android/assets/jsons/translations/template.properties +++ b/android/assets/jsons/translations/template.properties @@ -833,6 +833,11 @@ Show pixel units = Show pixel improvements = Unit icon opacity = +### Performance subgroup + +Performance = +Continuous rendering = +When disabled, saves battery life but certain animations will be suspended = ## Gameplay tab Gameplay = diff --git a/core/src/com/unciv/UncivGame.kt b/core/src/com/unciv/UncivGame.kt index 6bb2cacaad..95c88a58c9 100644 --- a/core/src/com/unciv/UncivGame.kt +++ b/core/src/com/unciv/UncivGame.kt @@ -139,7 +139,7 @@ open class UncivGame(val isConsoleMode: Boolean = false) : Game(), PlatformSpeci settings.tileSet = Constants.defaultTileset } - Gdx.graphics.isContinuousRendering = false + Gdx.graphics.isContinuousRendering = settings.continuousRendering Concurrency.run("LoadJSON") { RulesetCache.loadRulesets() diff --git a/core/src/com/unciv/models/metadata/GameSettings.kt b/core/src/com/unciv/models/metadata/GameSettings.kt index fc736e789e..c1e900b7f2 100644 --- a/core/src/com/unciv/models/metadata/GameSettings.kt +++ b/core/src/com/unciv/models/metadata/GameSettings.kt @@ -80,6 +80,7 @@ class GameSettings { var unitIconOpacity = 1f // default corresponds to fully opaque val showPixelUnits: Boolean get() = unitSet != null var showPixelImprovements: Boolean = true + var continuousRendering = false var orderTradeOffersByAmount = true var confirmNextTurn = false var windowState = WindowState() diff --git a/core/src/com/unciv/ui/popups/options/DisplayTab.kt b/core/src/com/unciv/ui/popups/options/DisplayTab.kt index a5a0691764..d36aff6bbc 100644 --- a/core/src/com/unciv/ui/popups/options/DisplayTab.kt +++ b/core/src/com/unciv/ui/popups/options/DisplayTab.kt @@ -2,6 +2,7 @@ package com.unciv.ui.popups.options import com.badlogic.gdx.Application import com.badlogic.gdx.Gdx +import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.scenes.scene2d.ui.SelectBox import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.utils.Array @@ -12,12 +13,14 @@ import com.unciv.models.skins.SkinCache import com.unciv.models.tilesets.TileSetCache import com.unciv.models.translations.tr import com.unciv.ui.components.extensions.addSeparator +import com.unciv.ui.components.extensions.brighten import com.unciv.ui.components.extensions.toLabel import com.unciv.ui.components.extensions.toTextButton import com.unciv.ui.components.input.onChange import com.unciv.ui.components.input.onClick import com.unciv.ui.components.widgets.TranslatedSelectBox import com.unciv.ui.components.widgets.UncivSlider +import com.unciv.ui.components.widgets.WrappableLabel import com.unciv.ui.images.ImageGetter import com.unciv.ui.popups.ConfirmPopup import com.unciv.ui.screens.basescreen.BaseScreen @@ -82,6 +85,22 @@ fun displayTab( optionsPopup.addCheckbox(this, "Show pixel improvements", settings.showPixelImprovements, true) { settings.showPixelImprovements = it } addUnitIconAlphaSlider(this, settings, optionsPopup.selectBoxMinWidth) + + addSeparator() + add("Performance".toLabel(fontSize = 24)).colspan(2).row() + + optionsPopup.addCheckbox(this, "Continuous rendering", settings.continuousRendering) { + settings.continuousRendering = it + Gdx.graphics.isContinuousRendering = it + } + + val continuousRenderingDescription = "When disabled, saves battery life but certain animations will be suspended" + val continuousRenderingLabel = WrappableLabel( + continuousRenderingDescription, + optionsPopup.tabs.prefWidth, Color.ORANGE.brighten(0.7f), 14 + ) + continuousRenderingLabel.wrap = true + add(continuousRenderingLabel).colspan(2).padTop(10f).row() } private fun addMinimapSizeSlider(table: Table, settings: GameSettings, selectBoxMinWidth: Float) {