mirror of
https://github.com/ARMSX2/ARMSX2.git
synced 2026-08-24 16:50:16 -07:00
SGSR: reach it from the in-game menu too
The upscaler control exists TWICE -- once in the Renderer settings tab and once in the in-game menu -- and only the first one learned about SGSR, so the option was unreachable from the place people actually change these mid-game. Both are pickers now rather than an FSR1 on/off switch. The in-game one was a MenuSwitchRow, which was fine while FSR1 was the only upscaler and is the wrong shape for three mutually exclusive ones. The settings search index pointed at renderer.fsr1.label, which is no longer a row anywhere; searching for it would have landed on nothing.
This commit is contained in:
+17
-10
@@ -859,16 +859,23 @@ private fun GraphicsPane(state: EmulationMenuUiState, viewModel: EmulationMenuVi
|
||||
// "vulkan" hid this row from almost everyone — which is exactly what happened. Only OpenGL
|
||||
// and software genuinely cannot run it.
|
||||
if (settings.renderer != "opengl" && settings.renderer != "software") {
|
||||
val fsr1On = settings.upscaler == com.armsx2.config.Settings.UPSCALER_FSR1
|
||||
MenuSwitchRow(
|
||||
str("renderer.fsr1.label"),
|
||||
fsr1On,
|
||||
description = str("renderer.fsr1.description"),
|
||||
) { on ->
|
||||
viewModel.updateSettings {
|
||||
it.copy(upscaler = if (on) com.armsx2.config.Settings.UPSCALER_FSR1 else com.armsx2.config.Settings.UPSCALER_OFF)
|
||||
}
|
||||
}
|
||||
// A picker, matching the Renderer tab. This was a switch while FSR1 was the only
|
||||
// upscaler; with SGSR beside it there are three mutually exclusive choices, and this
|
||||
// screen is the SECOND place that has to learn about a new one -- the settings tab has
|
||||
// its own copy of the same control, and updating only that one leaves the in-game menu
|
||||
// silently unable to reach the new option.
|
||||
val fsr1On = settings.upscaler == com.armsx2.config.Settings.UPSCALER_FSR1 ||
|
||||
settings.upscaler == com.armsx2.config.Settings.UPSCALER_SGSR
|
||||
HorizontalOptions(
|
||||
title = str("renderer.upscaler.label"),
|
||||
options = listOf(
|
||||
com.armsx2.config.Settings.UPSCALER_OFF to str("common.off"),
|
||||
com.armsx2.config.Settings.UPSCALER_FSR1 to "FSR 1",
|
||||
com.armsx2.config.Settings.UPSCALER_SGSR to "SGSR",
|
||||
),
|
||||
selected = if (fsr1On) settings.upscaler else com.armsx2.config.Settings.UPSCALER_OFF,
|
||||
onSelect = { v -> viewModel.updateSettings { it.copy(upscaler = v) } },
|
||||
)
|
||||
if (fsr1On) {
|
||||
com.armsx2.ui.settings.IntSliderRow(
|
||||
label = str("renderer.fsr1.sharpness.label"),
|
||||
|
||||
+3
-1
@@ -111,7 +111,9 @@ private val BASE_SEARCH_INDEX: List<SettingsSearchEntry> = listOf(
|
||||
SettingsSearchEntry("renderer.textureFiltering.label", true, SettingsCategory.Graphics),
|
||||
SettingsSearchEntry("renderer.texturePreloading.label", true, SettingsCategory.Graphics),
|
||||
SettingsSearchEntry("renderer.displayFilter.label", true, SettingsCategory.Graphics),
|
||||
SettingsSearchEntry("renderer.fsr1.label", true, SettingsCategory.Graphics),
|
||||
// The FSR1 switch became the Display-upscaler picker when SGSR joined it; searching for the
|
||||
// old key would land on a row that no longer exists.
|
||||
SettingsSearchEntry("renderer.upscaler.label", true, SettingsCategory.Graphics),
|
||||
SettingsSearchEntry("renderer.cas.label", true, SettingsCategory.Graphics),
|
||||
SettingsSearchEntry("renderer.blendingAccuracy.label", true, SettingsCategory.Graphics),
|
||||
SettingsSearchEntry("renderer.trilinear.label", true, SettingsCategory.Graphics),
|
||||
|
||||
Reference in New Issue
Block a user