diff --git a/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt b/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt index c9d4bdd86d..f282275cdf 100644 --- a/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt +++ b/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt @@ -1,6 +1,7 @@ package com.unciv.ui.newgamescreen import com.badlogic.gdx.scenes.scene2d.ui.Table +import com.badlogic.gdx.utils.Align import com.unciv.UncivGame import com.unciv.models.ruleset.RulesetCache import com.unciv.models.ruleset.unique.UniqueType @@ -11,6 +12,7 @@ import com.unciv.ui.images.ImageGetter import com.unciv.ui.multiplayer.MultiplayerHelpers import com.unciv.ui.popup.ToastPopup import com.unciv.ui.utils.BaseScreen +import com.unciv.ui.utils.ExpanderTab import com.unciv.ui.utils.UncivSlider import com.unciv.ui.utils.extensions.onChange import com.unciv.ui.utils.extensions.toCheckBox @@ -64,20 +66,26 @@ class GameOptionsTable( addVictoryTypeCheckboxes() + val checkboxTable = Table().apply { defaults().left().pad(2.5f) } - checkboxTable.addNoCityRazingCheckbox() - checkboxTable.addNoBarbariansCheckbox() - checkboxTable.addRagingBarbariansCheckbox() - checkboxTable.addOneCityChallengeCheckbox() - checkboxTable.addNuclearWeaponsCheckbox() checkboxTable.addIsOnlineMultiplayerCheckbox() if (gameParameters.isOnlineMultiplayer) checkboxTable.addAnyoneCanSpectateCheckbox() - if (UncivGame.Current.settings.enableEspionageOption) - checkboxTable.addEnableEspionageCheckbox() - checkboxTable.addNoStartBiasCheckbox() add(checkboxTable).center().row() + val expander = ExpanderTab("Advanced Settings", startsOutOpened = false) { + it.addNoCityRazingCheckbox() + it.addNoBarbariansCheckbox() + it.addRagingBarbariansCheckbox() + it.addOneCityChallengeCheckbox() + it.addNuclearWeaponsCheckbox() + if (UncivGame.Current.settings.enableEspionageOption) + it.addEnableEspionageCheckbox() + it.addNoStartBiasCheckbox() + } + add(expander).pad(10f).padTop(10f).growX().row() + + if (!isPortrait) add(modCheckboxes).row() @@ -87,6 +95,7 @@ class GameOptionsTable( private fun Table.addCheckbox(text: String, initialState: Boolean, lockable: Boolean = true, onChange: (newValue: Boolean) -> Unit) { val checkbox = text.toCheckBox(initialState) { onChange(it) } checkbox.isDisabled = lockable && locked + checkbox.align(Align.left) add(checkbox).colspan(2).row() } diff --git a/core/src/com/unciv/ui/newgamescreen/ModCheckboxTable.kt b/core/src/com/unciv/ui/newgamescreen/ModCheckboxTable.kt index c7d58a912f..1a6b3b44ee 100644 --- a/core/src/com/unciv/ui/newgamescreen/ModCheckboxTable.kt +++ b/core/src/com/unciv/ui/newgamescreen/ModCheckboxTable.kt @@ -52,8 +52,11 @@ class ModCheckboxTable( if (extensionRulesetModButtons.any()) { add(ExpanderTab("Extension mods:", persistenceID = "NewGameExpansionMods") { it.defaults().pad(5f,0f) - for (checkbox in extensionRulesetModButtons) it.add(checkbox).row() - }).padTop(padTop).growX().row() + for (checkbox in extensionRulesetModButtons) { + checkbox.left() + it.add(checkbox).row() + } + }).pad(10f).padTop(padTop).growX().row() } } diff --git a/tests/src/com/unciv/logic/map/VisibilityTests.kt b/tests/src/com/unciv/logic/map/VisibilityTests.kt index 0cc7b092be..7c3b1c78aa 100644 --- a/tests/src/com/unciv/logic/map/VisibilityTests.kt +++ b/tests/src/com/unciv/logic/map/VisibilityTests.kt @@ -156,11 +156,12 @@ class VisibilityTests { @Test fun cannotSeeMountainOverHillForest() { - val grassland = addTile("Grassland", Vector2(0f,0f)) + val grassland = addTile(listOf("Grassland", "Hill"), Vector2(0f,0f)) + addTile(listOf("Grassland", "Hill"), Vector2(0f,0f)) addTile(listOf("Grassland", "Hill", "Forest"), Vector2(1f,0f)) - val hill = addTile(listOf("Mountain"), Vector2(2f, 0f)) - val viewableTiles = grassland.getViewableTilesList(2) - assert(!viewableTiles.contains(hill)) + val mountain = addTile(listOf("Mountain"), Vector2(2f, 0f)) + val viewableTiles = grassland.getViewableTilesList(4) + assert(!viewableTiles.contains(mountain)) }