|
|
|
@ -88,7 +88,7 @@ class SettingsFragmentPresenter( |
|
|
|
MenuTag.SECTION_ROOT -> addConfigSettings(sl) |
|
|
|
MenuTag.SECTION_SYSTEM -> addSystemSettings(sl) |
|
|
|
MenuTag.SECTION_RENDERER -> addGraphicsSettings(sl) |
|
|
|
MenuTag.SECTION_PERFORMANCE_STATS -> addPerfomanceOverlaySettings(sl) |
|
|
|
MenuTag.SECTION_PERFORMANCE_STATS -> addPerformanceOverlaySettings(sl) |
|
|
|
MenuTag.SECTION_AUDIO -> addAudioSettings(sl) |
|
|
|
MenuTag.SECTION_INPUT -> addInputSettings(sl) |
|
|
|
MenuTag.SECTION_INPUT_PLAYER_ONE -> addInputPlayer(sl, 0) |
|
|
|
@ -102,6 +102,7 @@ class SettingsFragmentPresenter( |
|
|
|
MenuTag.SECTION_THEME -> addThemeSettings(sl) |
|
|
|
MenuTag.SECTION_DEBUG -> addDebugSettings(sl) |
|
|
|
MenuTag.SECTION_EDEN_VEIL -> addEdenVeilSettings(sl) |
|
|
|
MenuTag.SECTION_APPLETS -> addAppletSettings(sl) |
|
|
|
} |
|
|
|
settingsList = sl |
|
|
|
adapter.submitList(settingsList) { |
|
|
|
@ -162,6 +163,14 @@ class SettingsFragmentPresenter( |
|
|
|
menuKey = MenuTag.SECTION_EDEN_VEIL |
|
|
|
) |
|
|
|
) |
|
|
|
add( |
|
|
|
SubmenuSetting( |
|
|
|
titleId = R.string.applets_menu, |
|
|
|
descriptionId = R.string.applets_menu_description, |
|
|
|
iconId = R.drawable.ic_applet, |
|
|
|
menuKey = MenuTag.SECTION_APPLETS |
|
|
|
) |
|
|
|
) |
|
|
|
add( |
|
|
|
RunnableSetting( |
|
|
|
titleId = R.string.reset_to_default, |
|
|
|
@ -173,88 +182,6 @@ class SettingsFragmentPresenter( |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private val InterpolationSetting = object : AbstractBooleanSetting { |
|
|
|
override val key = BooleanSetting.FRAME_INTERPOLATION.key |
|
|
|
|
|
|
|
override fun getBoolean(needsGlobal: Boolean): Boolean { |
|
|
|
return BooleanSetting.FRAME_INTERPOLATION.getBoolean(needsGlobal) |
|
|
|
} |
|
|
|
|
|
|
|
override fun setBoolean(value: Boolean) { |
|
|
|
BooleanSetting.FRAME_INTERPOLATION.setBoolean(value) |
|
|
|
} |
|
|
|
|
|
|
|
override val defaultValue = BooleanSetting.FRAME_INTERPOLATION.defaultValue |
|
|
|
|
|
|
|
override fun getValueAsString(needsGlobal: Boolean): String = |
|
|
|
BooleanSetting.FRAME_INTERPOLATION.getValueAsString(needsGlobal) |
|
|
|
|
|
|
|
override fun reset() = BooleanSetting.FRAME_INTERPOLATION.reset() |
|
|
|
} |
|
|
|
|
|
|
|
private val syncCoreSpeedSetting = object : AbstractBooleanSetting { |
|
|
|
override val key = BooleanSetting.CORE_SYNC_CORE_SPEED.key |
|
|
|
|
|
|
|
override fun getBoolean(needsGlobal: Boolean): Boolean { |
|
|
|
return BooleanSetting.CORE_SYNC_CORE_SPEED.getBoolean(needsGlobal) |
|
|
|
} |
|
|
|
|
|
|
|
override fun setBoolean(value: Boolean) { |
|
|
|
BooleanSetting.CORE_SYNC_CORE_SPEED.setBoolean(value) |
|
|
|
} |
|
|
|
|
|
|
|
override val defaultValue = BooleanSetting.CORE_SYNC_CORE_SPEED.defaultValue |
|
|
|
|
|
|
|
override fun getValueAsString(needsGlobal: Boolean): String = |
|
|
|
BooleanSetting.CORE_SYNC_CORE_SPEED.getValueAsString(needsGlobal) |
|
|
|
|
|
|
|
override fun reset() = BooleanSetting.CORE_SYNC_CORE_SPEED.reset() |
|
|
|
} |
|
|
|
|
|
|
|
private val frameSkippingSetting = object : AbstractBooleanSetting { |
|
|
|
override val key = BooleanSetting.FRAME_SKIPPING.key |
|
|
|
|
|
|
|
override fun getBoolean(needsGlobal: Boolean): Boolean { |
|
|
|
return BooleanSetting.FRAME_SKIPPING.getBoolean(needsGlobal) |
|
|
|
} |
|
|
|
|
|
|
|
override fun setBoolean(value: Boolean) { |
|
|
|
BooleanSetting.FRAME_SKIPPING.setBoolean(value) |
|
|
|
} |
|
|
|
|
|
|
|
override val defaultValue = BooleanSetting.FRAME_SKIPPING.defaultValue |
|
|
|
|
|
|
|
override fun getValueAsString(needsGlobal: Boolean): String = |
|
|
|
BooleanSetting.FRAME_SKIPPING.getValueAsString(needsGlobal) |
|
|
|
|
|
|
|
override fun reset() = BooleanSetting.FRAME_SKIPPING.reset() |
|
|
|
} |
|
|
|
|
|
|
|
private fun addEdenVeilSubmenu(sl: ArrayList<SettingsItem>) { |
|
|
|
sl.apply { |
|
|
|
add( |
|
|
|
SubmenuSetting( |
|
|
|
titleId = R.string.eden_veil, |
|
|
|
descriptionId = R.string.eden_veil_description, |
|
|
|
iconId = R.drawable.ic_code, |
|
|
|
menuKey = MenuTag.SECTION_EDEN_VEIL |
|
|
|
) |
|
|
|
) |
|
|
|
addEdenVeilSettings(sl) |
|
|
|
|
|
|
|
add(BooleanSetting.FRAME_INTERPOLATION.key) |
|
|
|
add(BooleanSetting.FRAME_SKIPPING.key) |
|
|
|
add(BooleanSetting.CORE_SYNC_CORE_SPEED.key) |
|
|
|
add(IntSetting.RENDERER_SHADER_BACKEND.key) |
|
|
|
add(IntSetting.RENDERER_OPTIMIZE_SPIRV_OUTPUT.key) |
|
|
|
add(IntSetting.RENDERER_NVDEC_EMULATION.key) |
|
|
|
add(IntSetting.RENDERER_ASTC_DECODE_METHOD.key) |
|
|
|
add(IntSetting.RENDERER_ASTC_RECOMPRESSION.key) |
|
|
|
add(IntSetting.RENDERER_VRAM_USAGE_MODE.key) |
|
|
|
add(BooleanSetting.USE_LRU_CACHE.key) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private fun addSystemSettings(sl: ArrayList<SettingsItem>) { |
|
|
|
sl.apply { |
|
|
|
add(StringSetting.DEVICE_NAME.key) |
|
|
|
@ -288,7 +215,7 @@ class SettingsFragmentPresenter( |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private fun addPerfomanceOverlaySettings(sl: ArrayList<SettingsItem>) { |
|
|
|
private fun addPerformanceOverlaySettings(sl: ArrayList<SettingsItem>) { |
|
|
|
sl.apply { |
|
|
|
add(HeaderSetting(R.string.stats_overlay_customization)) |
|
|
|
add(BooleanSetting.SHOW_PERFORMANCE_OVERLAY.key) |
|
|
|
@ -457,6 +384,7 @@ class SettingsFragmentPresenter( |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// TODO(alekpop): sort these into headers. |
|
|
|
private fun addEdenVeilSettings(sl: ArrayList<SettingsItem>) { |
|
|
|
sl.apply { |
|
|
|
add(BooleanSetting.FRAME_INTERPOLATION.key) |
|
|
|
@ -480,6 +408,12 @@ class SettingsFragmentPresenter( |
|
|
|
add(IntSetting.RENDERER_OPTIMIZE_SPIRV_OUTPUT.key) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private fun addAppletSettings(sl: ArrayList<SettingsItem>) { |
|
|
|
sl.apply { |
|
|
|
add(IntSetting.SWKBD_APPLET.key) |
|
|
|
} |
|
|
|
} |
|
|
|
private fun addInputPlayer(sl: ArrayList<SettingsItem>, playerIndex: Int) { |
|
|
|
sl.apply { |
|
|
|
val connectedSetting = object : AbstractBooleanSetting { |
|
|
|
|