From 66e940dd2bd765b2a7a991c8b5fe24b2d361e787 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 8 Dec 2019 17:36:02 +0200 Subject: [PATCH] Revert "We now auto-detect resolution from the screen! Been a long time coming!" This reverts commit 7d458207b532aae98c8bb19059a7ad9be4bb40d1. --- .../com/unciv/models/metadata/GameSettings.kt | 1 + .../unciv/ui/utils/CameraStageBaseScreen.kt | 3 ++- .../optionstable/WorldScreenOptionsTable.kt | 22 +++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/core/src/com/unciv/models/metadata/GameSettings.kt b/core/src/com/unciv/models/metadata/GameSettings.kt index b5a298fd68..a3dbd6c558 100644 --- a/core/src/com/unciv/models/metadata/GameSettings.kt +++ b/core/src/com/unciv/models/metadata/GameSettings.kt @@ -8,6 +8,7 @@ class GameSettings { var checkForDueUnits: Boolean = true var singleTapMove: Boolean = false var language: String = "English" + var resolution: String = "1050x700" var tutorialsShown = ArrayList() var hasCrashedRecently = false var soundEffectsVolume = 0.5f diff --git a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt index 3739f11eac..0c0cffaac9 100644 --- a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt +++ b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt @@ -22,7 +22,8 @@ open class CameraStageBaseScreen : Screen { var hasPopupOpen = false init { - stage = Stage(ExtendViewport(Gdx.graphics.width.toFloat(), Gdx.graphics.height.toFloat()), batch)// FitViewport(1000,600) + val resolutions: List = game.settings.resolution.split("x").map { it.toInt().toFloat() } + stage = Stage(ExtendViewport(resolutions[0], resolutions[1]), batch)// FitViewport(1000,600) } diff --git a/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt b/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt index 65d74c2ad7..b86e43d9e7 100644 --- a/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt +++ b/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt @@ -112,6 +112,8 @@ class WorldScreenOptionsTable(val worldScreen:WorldScreen) : PopupTable(worldScr addLanguageSelectBox(innerTable) + addResolutionSelectBox(innerTable) + addAutosaveTurnsSelectBox(innerTable) addTileSetSelectBox(innerTable) @@ -194,6 +196,26 @@ class WorldScreenOptionsTable(val worldScreen:WorldScreen) : PopupTable(worldScr } } + private fun addResolutionSelectBox(innerTable: PopupTable) { + innerTable.add("Resolution".toLabel()) + + val resolutionSelectBox = SelectBox(skin) + val resolutionArray = Array() + resolutionArray.addAll("750x500","900x600", "1050x700", "1200x800", "1500x1000") + resolutionSelectBox.items = resolutionArray + resolutionSelectBox.selected = UncivGame.Current.settings.resolution + innerTable.add(resolutionSelectBox).pad(10f).row() + + resolutionSelectBox.addListener(object : ChangeListener() { + override fun changed(event: ChangeEvent?, actor: Actor?) { + UncivGame.Current.settings.resolution = resolutionSelectBox.selected + UncivGame.Current.settings.save() + UncivGame.Current.worldScreen = WorldScreen(worldScreen.viewingCiv) + UncivGame.Current.setWorldScreen() + WorldScreenOptionsTable(UncivGame.Current.worldScreen) + } + }) + } private fun addTileSetSelectBox(innerTable: PopupTable) { innerTable.add("Tileset".toLabel())