From df27cb3bddfc5e524555dbf1a30ddf7f50b92e7b Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 8 Dec 2019 18:22:25 +0200 Subject: [PATCH] The base resolution is auto but it can be manually set. That oughtta keep everyone happy. --- .../com/unciv/models/metadata/GameSettings.kt | 2 +- .../unciv/ui/utils/CameraStageBaseScreen.kt | 22 +++++++++++++++++-- .../optionstable/WorldScreenOptionsTable.kt | 2 +- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/core/src/com/unciv/models/metadata/GameSettings.kt b/core/src/com/unciv/models/metadata/GameSettings.kt index a3dbd6c558..8b6bddd6ce 100644 --- a/core/src/com/unciv/models/metadata/GameSettings.kt +++ b/core/src/com/unciv/models/metadata/GameSettings.kt @@ -8,7 +8,7 @@ class GameSettings { var checkForDueUnits: Boolean = true var singleTapMove: Boolean = false var language: String = "English" - var resolution: String = "1050x700" + var resolution: String = "Auto" 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 0c0cffaac9..2dcb0897f4 100644 --- a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt +++ b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt @@ -22,8 +22,26 @@ open class CameraStageBaseScreen : Screen { var hasPopupOpen = false init { - val resolutions: List = game.settings.resolution.split("x").map { it.toInt().toFloat() } - stage = Stage(ExtendViewport(resolutions[0], resolutions[1]), batch)// FitViewport(1000,600) + val width:Float + val height:Float + if(game.settings.resolution=="Auto"){ + // lower than 750x500 just doesn't manage to fit all the components into the screen + if(Gdx.graphics.width >= 750 && Gdx.graphics.height.toFloat() >= 500){ + width=Gdx.graphics.width.toFloat() + height=Gdx.graphics.height.toFloat() + } + else{ + width=750f + height=500f + } + } + else { + val resolutions: List = game.settings.resolution.split("x").map { it.toInt().toFloat() } + width = resolutions[0] + height = resolutions[1] + } + stage = Stage(ExtendViewport(width, height), batch) + } diff --git a/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt b/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt index b86e43d9e7..a187e06739 100644 --- a/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt +++ b/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt @@ -201,7 +201,7 @@ class WorldScreenOptionsTable(val worldScreen:WorldScreen) : PopupTable(worldScr val resolutionSelectBox = SelectBox(skin) val resolutionArray = Array() - resolutionArray.addAll("750x500","900x600", "1050x700", "1200x800", "1500x1000") + resolutionArray.addAll("Auto","750x500","900x600", "1050x700", "1200x800", "1500x1000") resolutionSelectBox.items = resolutionArray resolutionSelectBox.selected = UncivGame.Current.settings.resolution innerTable.add(resolutionSelectBox).pad(10f).row()